aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.algebra.ssralg.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/htmldoc/mathcomp.algebra.ssralg.html')
-rw-r--r--docs/htmldoc/mathcomp.algebra.ssralg.html6346
1 files changed, 0 insertions, 6346 deletions
diff --git a/docs/htmldoc/mathcomp.algebra.ssralg.html b/docs/htmldoc/mathcomp.algebra.ssralg.html
deleted file mode 100644
index cb47add..0000000
--- a/docs/htmldoc/mathcomp.algebra.ssralg.html
+++ /dev/null
@@ -1,6346 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<link href="coqdoc.css" rel="stylesheet" type="text/css" />
-<title>mathcomp.algebra.ssralg</title>
-</head>
-
-<body>
-
-<div id="page">
-
-<div id="header">
-</div>
-
-<div id="main">
-
-<h1 class="libtitle">Library mathcomp.algebra.ssralg</h1>
-
-<div class="code">
-<span class="comment">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
-&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
-
-<br/>
-</div>
-
-<div class="doc">
- The algebraic part of the Algebraic Hierarchy, as described in
- ``Packaging mathematical structures'', TPHOLs09, by
- Francois Garillot, Georges Gonthier, Assia Mahboubi, Laurence Rideau
-
-<div class="paragraph"> </div>
-
- This file defines for each Structure (Zmodule, Ring, etc ...) its type,
- its packers and its canonical properties :
-
-<div class="paragraph"> </div>
-
-<a name="lab4"></a><h1 class="section">Zmodule (additive abelian groups):</h1>
-
- zmodType == interface type for Zmodule structure.
- ZmodMixin addA addC add0x addNx == builds the mixin for a Zmodule from the
- algebraic properties of its operations.
- ZmodType V m == packs the mixin m to build a Zmodule of type
- zmodType. The carrier type V must have a
- choiceType canonical structure.
- [zmodType of V for S] == V-clone of the zmodType structure S: a copy of S
- where the sort carrier has been replaced by V,
- and which is therefore a zmodType structure on V.
- The sort carrier for S must be convertible to V.
- [zmodType of V] == clone of a canonical zmodType structure on V.
- Similar to the above, except S is inferred, but
- possibly with a syntactically different carrier.
- 0 == the zero (additive identity) of a Zmodule.
- x + y == the sum of x and y (in a Zmodule).
-<ul class="doclist">
-<li> x == the opposite (additive inverse) of x.
-
-</li>
-</ul>
- x - y == the difference of x and y; this is only notation
- for x + (- y).
- x *+ n == n times x, with n in nat (non-negative), i.e.,
- x + (x + .. (x + x)..) (n terms); x *+ 1 is thus
- convertible to x, and x *+ 2 to x + x.
- x *- n == notation for - (x *+ n), the opposite of x *+ n.
- \sum</i>&lt;range&gt; e == iterated sum for a Zmodule (cf bigop.v).
- e`<i>i == nth 0 e i, when e : seq M and M has a zmodType
- structure.
- support f == 0.-support f, i.e., [pred x | f x != 0].
- oppr_closed S &lt;-&gt; collective predicate S is closed under opposite.
- addr_closed S &lt;-&gt; collective predicate S is closed under finite
- sums (0 and x + y in S, for x, y in S).
- zmod_closed S &lt;-&gt; collective predicate S is closed under zmodType
- operations (0 and x - y in S, for x, y in S).
- This property coerces to oppr_pred and addr_pred.
- OpprPred oppS == packs oppS : oppr_closed S into an opprPred S
- interface structure associating this property to
- the canonical pred_key S, i.e. the k for which S
- has a Canonical keyed_pred k structure (see file
- ssrbool.v).
- AddrPred addS == packs addS : addr_closed S into an addrPred S
- interface structure associating this property to
- the canonical pred_key S (see above).
- ZmodPred oppS == packs oppS : oppr_closed S into an zmodPred S
- interface structure associating the zmod_closed
- property to the canonical pred_key S (see above),
- which must already be an addrPred.
- [zmodMixin of M by &lt;: ] == zmodType mixin for a subType whose base type is
- a zmodType and whose predicate's canonical
- pred_key is a zmodPred.
-&gt; Coq can be made to behave as if all predicates had canonical zmodPred
- keys by executing Import DefaultKeying GRing.DefaultPred. The required
- oppr_closed and addr_closed assumptions will be either abstracted,
- resolved or issued as separate proof obligations by the ssreflect
- plugin abstraction and Prop-irrelevance functions.
-<a name="lab5"></a><h1 class="section">Ring (non-commutative rings):</h1>
-
- ringType == interface type for a Ring structure.
- RingMixin mulA mul1x mulx1 mulDx mulxD == builds the mixin for a Ring from
- the algebraic properties of its multiplicative
- operators; the carrier type must have a zmodType
- structure.
- RingType R m == packs the ring mixin m into a ringType.
- R^c == the converse Ring for R: R^c is convertible to R
- but when R has a canonical ringType structure
- R^c has the converse one: if x y : R^c, then
- x * y = (y : R) * (x : R).
- [ringType of R for S] == R-clone of the ringType structure S.
- [ringType of R] == clone of a canonical ringType structure on R.
- 1 == the multiplicative identity element of a Ring.
- n%:R == the ring image of an n in nat; this is just
- notation for 1 *+ n, so 1%:R is convertible to 1
- and 2%:R to 1 + 1.
- x * y == the ring product of x and y.
- \prod</i>&lt;range&gt; e == iterated product for a ring (cf bigop.v).
- x ^+ n == x to the nth power with n in nat (non-negative),
- i.e., x * (x * .. (x * x)..) (n factors); x ^+ 1
- is thus convertible to x, and x ^+ 2 to x * x.
- GRing.sign R b := (-1) ^+ b in R : ringType, with b : bool.
- This is a parsing-only helper notation, to be
- used for defining more specific instances.
- GRing.comm x y &lt;-&gt; x and y commute, i.e., x * y = y * x.
- GRing.lreg x &lt;-&gt; x if left-regular, i.e., *%R x is injective.
- GRing.rreg x &lt;-&gt; x if right-regular, i.e., *%R x is injective.
- [char R] == the characteristic of R, defined as the set of
- prime numbers p such that p%:R = 0 in R. The set
- [char p] has a most one element, and is
- implemented as a pred_nat collective predicate
- (see prime.v); thus the statement p \in [char R]
- can be read as `R has characteristic p', while
- [char R] =i pred0 means `R has characteristic 0'
- when R is a field.
- Frobenius_aut chRp == the Frobenius automorphism mapping x in R to
- x ^+ p, where chRp : p \in [char R] is a proof
- that R has (non-zero) characteristic p.
- mulr_closed S &lt;-&gt; collective predicate S is closed under finite
- products (1 and x * y in S for x, y in S).
- smulr_closed S &lt;-&gt; collective predicate S is closed under products
- and opposite (-1 and x * y in S for x, y in S).
- semiring_closed S &lt;-&gt; collective predicate S is closed under semiring
- operations (0, 1, x + y and x * y in S).
- subring_closed S &lt;-&gt; collective predicate S is closed under ring
- operations (1, x - y and x * y in S).
- MulrPred mulS == packs mulS : mulr_closed S into a mulrPred S,
- SmulrPred mulS smulrPred S, semiringPred S, or subringPred S
- SemiringPred mulS interface structure, corresponding to the above
- SubRingPred mulS properties, respectively, provided S already has
- the supplementary zmodType closure properties.
- The properties above coerce to subproperties so,
- e.g., ringS : subring_closed S can be used for
- the proof obligations of all prerequisites.
- [ringMixin of R by &lt;: ] == ringType mixin for a subType whose base type is
- a ringType and whose predicate's canonical key
- is a SubringPred.
-&gt; As for zmodType predicates, Import DefaultKeying GRing.DefaultPred
- turns unresolved GRing.Pred unification constraints into proof
- obligations for basic closure assumptions.
-
-<div class="paragraph"> </div>
-
-<a name="lab6"></a><h1 class="section">ComRing (commutative Rings):</h1>
-
- comRingType == interface type for commutative ring structure.
- ComRingType R mulC == packs mulC into a comRingType; the carrier type
- R must have a ringType canonical structure.
- ComRingMixin mulA mulC mul1x mulDx == builds the mixin for a Ring (i.e., a
- *non commutative* ring), using the commutativity
- to reduce the number of proof obligations.
- [comRingType of R for S] == R-clone of the comRingType structure S.
- [comRingType of R] == clone of a canonical comRingType structure on R.
- [comRingMixin of R by &lt;: ] == comutativity mixin axiom for R when it is a
- subType of a commutative ring.
-
-<div class="paragraph"> </div>
-
-<a name="lab7"></a><h1 class="section">UnitRing (Rings whose units have computable inverses):</h1>
-
- unitRingType == interface type for the UnitRing structure.
- UnitRingMixin mulVr mulrV unitP inv0id == builds the mixin for a UnitRing
- from the properties of the inverse operation and
- the boolean test for being a unit (invertible).
- The inverse of a non-unit x is constrained to be
- x itself (property inv0id). The carrier type
- must have a ringType canonical structure.
- UnitRingType R m == packs the unit ring mixin m into a unitRingType.
- 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, 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 &lt;=&gt; x is a unit (i.e., has an inverse).
- x^-1 == the ring inverse of x, if x is a unit, else x.
- x / y == x divided by y (notation for x * y^-1).
- x ^- n := notation for (x ^+ n)^-1, the inverse of x ^+ n.
- invr_closed S &lt;-&gt; collective predicate S is closed under inverse.
- divr_closed S &lt;-&gt; collective predicate S is closed under division
- (1 and x / y in S).
- sdivr_closed S &lt;-&gt; collective predicate S is closed under division
- and opposite (-1 and x / y in S, for x, y in S).
- divring_closed S &lt;-&gt; collective predicate S is closed under unitRing
- operations (1, x - y and x / y in S).
- DivrPred invS == packs invS : mulr_closed S into a divrPred S,
- SdivrPred invS sdivrPred S or divringPred S interface structure,
- DivringPred invS corresponding to the above properties, resp.,
- provided S already has the supplementary ringType
- closure properties. The properties above coerce
- to subproperties, as explained above.
- [unitRingMixin of R by &lt;: ] == unitRingType mixin for a subType whose base
- type is a unitRingType and whose predicate's
- canonical key is a divringPred and whose ring
- structure is compatible with the base type's.
-
-<div class="paragraph"> </div>
-
-<a name="lab8"></a><h1 class="section">ComUnitRing (commutative rings with computable inverses):</h1>
-
- comUnitRingType == interface type for ComUnitRing structure.
- ComUnitRingMixin mulVr unitP inv0id == builds the mixin for a UnitRing (a
- *non commutative* unit ring, using commutativity
- to simplify the proof obligations; the carrier
- type must have a comRingType structure.
- WARNING: ALWAYS give an explicit type argument
- to UnitRingType along with a mixin produced by
- ComUnitRingMixin (see above).
- [comUnitRingType of R] == a comUnitRingType structure for R created by
- merging canonical comRingType and unitRingType
- structures on R.
-
-<div class="paragraph"> </div>
-
-<a name="lab9"></a><h1 class="section">IntegralDomain (integral, commutative, ring with partial inverses):</h1>
-
- idomainType == interface type for the IntegralDomain structure.
- IdomainType R mulf_eq0 == packs the integrality property into an
- idomainType integral domain structure; R must
- have a comUnitRingType canonical structure.
- [idomainType of R for S] == R-clone of the idomainType structure S.
- [idomainType of R] == clone of a canonical idomainType structure on R.
- [idomainMixin of R by &lt;: ] == mixin axiom for a idomain subType.
-
-<div class="paragraph"> </div>
-
-<a name="lab10"></a><h1 class="section">Field (commutative fields):</h1>
-
- fieldType == interface type for fields.
- GRing.Field.mixin_of R == the field property: x != 0 -&gt; x \is a unit, for
- x : R; R must be or coerce to a unitRingType.
- GRing.Field.axiom inv == the field axiom: x != 0 -&gt; 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.
-&gt; 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 &lt;: ] == mixin axiom for a field subType.
-
-<div class="paragraph"> </div>
-
-<a name="lab11"></a><h1 class="section">DecidableField (fields with a decidable first order theory):</h1>
-
- decFieldType == interface type for DecidableField structure.
- DecFieldMixin satP == builds the mixin for a DecidableField from the
- correctness of its satisfiability predicate. The
- carrier type must have a unitRingType structure.
- DecFieldType F m == packs the decidable field mixin m into a
- decFieldType; the carrier type F must have a
- fieldType structure.
- [decFieldType of F for S] == F-clone of the decFieldType structure S.
- [decFieldType of F] == clone of a canonical decFieldType structure on F
- GRing.term R == the type of formal expressions in a unit ring R
- with formal variables 'X_k, k : nat, and
- manifest constants x%:T, x : R. The notation of
- all the ring operations is redefined for terms,
- in scope %T.
- GRing.formula R == the type of first order formulas over R; the %T
- scope binds the logical connectives /\, \/, ~,
- ==&gt;, ==, and != to formulae; GRing.True/False
- and GRing.Bool b denote constant formulae, and
- quantifiers are written 'forall/'exists 'X_k, f.
- GRing.Unit x tests for ring units
- GRing.If p_f t_f e_f emulates if-then-else
- GRing.Pick p_f t_f e_f emulates fintype.pick
- foldr GRing.Exists/Forall q_f xs can be used
- to write iterated quantifiers.
- GRing.eval e t == the value of term t with valuation e : seq R
- (e maps 'X_i to e`<i>i).
- GRing.same_env e1 e2 &lt;-&gt; environments e1 and e2 are extensionally equal.
- GRing.qf_form f == f is quantifier-free.
- GRing.holds e f == the intuitionistic CiC interpretation of the
- formula f holds with valuation e.
- GRing.qf_eval e f == the value (in bool) of a quantifier-free f.
- GRing.sat e f == valuation e satisfies f (only in a decField).
- GRing.sol n f == a sequence e of size n such that e satisfies f,
- if one exists, or [:: ] if there is no such e.
- QEdecFieldMixin wfP okP == a decidable field Mixin built from a quantifier
- eliminator p and proofs wfP : GRing.wf_QE_proj p
- and okP : GRing.valid_QE_proj p that p returns
- well-formed and valid formulae, i.e., p i (u, v)
- is a quantifier-free formula equivalent to
- 'exists 'X_i, u1 == 0 /\ ... /\ u_m == 0 /\ v1 != 0 ... /\ v_n != 0
-
-<div class="paragraph"> </div>
-
-<a name="lab12"></a><h1 class="section">ClosedField (algebraically closed fields):</h1>
-
- closedFieldType == interface type for the ClosedField structure.
- ClosedFieldType F m == packs the closed field mixin m into a
- closedFieldType. The carrier F must have a
- decFieldType structure.
- [closedFieldType of F on S] == F-clone of a closedFieldType structure S.
- [closedFieldType of F] == clone of a canonicalclosedFieldType structure
- on F.
-
-<div class="paragraph"> </div>
-
-<a name="lab13"></a><h1 class="section">Lmodule (module with left multiplication by external scalars).</h1>
-
- lmodType R == interface type for an Lmodule structure with
- scalars of type R; R must have a ringType
- structure.
- LmodMixin scalA scal1v scalxD scalDv == builds an Lmodule mixin from the
- algebraic properties of the scaling operation;
- the module carrier type must have a zmodType
- structure, and the scalar carrier must have a
- ringType structure.
- LmodType R V m == packs the mixin v to build an Lmodule of type
- lmodType R. The carrier type V must have a
- zmodType structure.
- [lmodType R of V for S] == V-clone of an lmodType R structure S.
- [lmodType R of V] == clone of a canonical lmodType R structure on V.
- a *: v == v scaled by a, when v is in an Lmodule V and a
- is in the scalar Ring of V.
- scaler_closed S &lt;-&gt; collective predicate S is closed under scaling.
- linear_closed S &lt;-&gt; collective predicate S is closed under linear
- combinations (a *: u + v in S when u, v in S).
- submod_closed S &lt;-&gt; collective predicate S is closed under lmodType
- operations (0 and a *: u + v in S).
- SubmodPred scaleS == packs scaleS : scaler_closed S in a submodPred S
- interface structure corresponding to the above
- property, provided S's key is a zmodPred;
- submod_closed coerces to all the prerequisites.
- [lmodMixin of V by &lt;: ] == mixin for a subType of an lmodType, whose
- predicate's key is a submodPred.
-
-<div class="paragraph"> </div>
-
-<a name="lab14"></a><h1 class="section">Lalgebra (left algebra, ring with scaling that associates on the left):</h1>
-
- lalgType R == interface type for Lalgebra structures with
- scalars in R; R must have ringType structure.
- LalgType R V scalAl == packs scalAl : k (x y) = (k x) y into an
- Lalgebra of type lalgType R. The carrier type V
- must have both lmodType R and ringType canonical
- structures.
- R^o == the regular algebra of R: R^o is convertible to
- R, but when R has a ringType structure then R^o
- extends it to an lalgType structure by letting R
- act on itself: if x : R and y : R^o then
- x *: y = x * (y : R).
- k%:A == the image of the scalar k in an L-algebra; this
- is simply notation for k *: 1.
- [lalgType R of V for S] == V-clone the lalgType R structure S.
- [lalgType R of V] == clone of a canonical lalgType R structure on V.
- subalg_closed S &lt;-&gt; collective predicate S is closed under lalgType
- operations (1, a *: u + v and u * v in S).
- SubalgPred scaleS == packs scaleS : scaler_closed S in a subalgPred S
- interface structure corresponding to the above
- property, provided S's key is a subringPred;
- subalg_closed coerces to all the prerequisites.
- [lalgMixin of V by &lt;: ] == mixin axiom for a subType of an lalgType.
-
-<div class="paragraph"> </div>
-
-<a name="lab15"></a><h1 class="section">Algebra (ring with scaling that associates both left and right):</h1>
-
- algType R == type for Algebra structure with scalars in R.
- R should be a commutative ring.
- AlgType R A scalAr == packs scalAr : k (x y) = x (k y) into an Algebra
- Structure of type algType R. The carrier type A
- must have an lalgType R structure.
- CommAlgType R A == creates an Algebra structure for an A that has
- both lalgType R and comRingType structures.
- [algType R of V for S] == V-clone of an algType R structure on S.
- [algType R of V] == clone of a canonical algType R structure on V.
- [algMixin of V by &lt;: ] == mixin axiom for a subType of an algType.
-
-<div class="paragraph"> </div>
-
-<a name="lab16"></a><h1 class="section">UnitAlgebra (algebra with computable inverses):</h1>
-
- unitAlgType R == interface type for UnitAlgebra structure with
- scalars in R; R should have a unitRingType
- structure.
- [unitAlgType R of V] == a unitAlgType R structure for V created by
- merging canonical algType and unitRingType on V.
- divalg_closed S &lt;-&gt; collective predicate S is closed under all
- unitAlgType operations (1, a *: u + v and u / v
- are in S fo u, v in S).
- DivalgPred scaleS == packs scaleS : scaler_closed S in a divalgPred S
- interface structure corresponding to the above
- property, provided S's key is a divringPred;
- divalg_closed coerces to all the prerequisites.
-
-<div class="paragraph"> </div>
-
- In addition to this structure hierarchy, we also develop a separate,
- parallel hierarchy for morphisms linking these structures:
-
-<div class="paragraph"> </div>
-
-<a name="lab17"></a><h1 class="section">Additive (additive functions):</h1>
-
- additive f &lt;-&gt; f of type U -&gt; V is additive, i.e., f maps the
- Zmodule structure of U to that of V, 0 to 0,
-<ul class="doclist">
-<li> to - and + to + (equivalently, binary - to -).
-
-</li>
-</ul>
- := {morph f : u v / u + v}.
- {additive U -&gt; V} == the interface type for a Structure (keyed on
- a function f : U -&gt; V) that encapsulates the
- additive property; both U and V must have
- zmodType canonical structures.
- Additive add_f == packs add_f : additive f into an additive
- function structure of type {additive U -&gt; V}.
- [additive of f as g] == an f-clone of the additive structure on the
- function g -- f and g must be convertible.
- [additive of f] == a clone of an existing additive structure on f.
-
-<div class="paragraph"> </div>
-
-<a name="lab18"></a><h1 class="section">RMorphism (ring morphisms):</h1>
-
- multiplicative f &lt;-&gt; f of type R -&gt; S is multiplicative, i.e., f
- maps 1 and * in R to 1 and * in S, respectively,
- R ans S must have canonical ringType structures.
- rmorphism f &lt;-&gt; f is a ring morphism, i.e., f is both additive
- and multiplicative.
- {rmorphism R -&gt; S} == the interface type for ring morphisms, i.e.,
- a Structure that encapsulates the rmorphism
- property for functions f : R -&gt; S; both R and S
- must have ringType structures.
- RMorphism morph_f == packs morph_f : rmorphism f into a Ring morphism
- structure of type {rmorphism R -&gt; S}.
- AddRMorphism mul_f == packs mul_f : multiplicative f into an rmorphism
- structure of type {rmorphism R -&gt; S}; f must
- already have an {additive R -&gt; S} structure.
- [rmorphism of f as g] == an f-clone of the rmorphism structure of g.
- [rmorphism of f] == a clone of an existing additive structure on f.
-<ul class="doclist">
-<li>&gt; If R and S are UnitRings the f also maps units to units and inverses
- of units to inverses; if R is a field then f if a field isomorphism
- between R and its image.
-
-</li>
-<li>&gt; As rmorphism coerces to both additive and multiplicative, all
- structures for f can be built from a single proof of rmorphism f.
-
-</li>
-<li>&gt; Additive properties (raddf_suffix, see below) are duplicated and
- specialised for RMorphism (as rmorph_suffix). This allows more
- precise rewriting and cleaner chaining: although raddf lemmas will
- recognize RMorphism functions, the converse will not hold (we cannot
- add reverse inheritance rules because of incomplete backtracking in
- the Canonical Projection unification), so one would have to insert a
- /= every time one switched from additive to multiplicative rules.
-
-</li>
-<li>&gt; The property duplication also means that it is not strictly necessary
- to declare all Additive instances.
-
-</li>
-</ul>
-
-<div class="paragraph"> </div>
-
-<a name="lab19"></a><h1 class="section">Linear (linear functions):</h1>
-
- scalable f &lt;-&gt; f of type U -&gt; V is scalable, i.e., f morphs
- scaling on U to scaling on V, a *: _ to a *: _.
- U and V must both have lmodType R structures,
- for the same ringType R.
- scalable_for s f &lt;-&gt; f is scalable for scaling operator s, i.e.,
- f morphs a *: _ to s a _; the range of f only
- need to be a zmodType. The scaling operator s
- should be one of *:%R (see scalable, above), *%R
- or a combination nu \; *%R or nu \; *:%R with
- nu : {rmorphism _}; otherwise some of the theory
- (e.g., the linearZ rule) will not apply.
- linear f &lt;-&gt; f of type U -&gt; V is linear, i.e., f morphs
- linear combinations a *: u + v in U to similar
- linear combinations in V; U and V must both have
- lmodType R structures, for the same ringType R.
- := forall a, {morph f: u v / a *: u + v}.
- scalar f &lt;-&gt; f of type U -&gt; R is a scalar function, i.e.,
- f (a *: u + v) = a * f u + f v.
- linear_for s f &lt;-&gt; f is linear for the scaling operator s, i.e.,
- f (a *: u + v) = s a (f u) + f v. The range of f
- only needs to be a zmodType, but s MUST be of
- the form described in in scalable_for paragraph
- for this predicate to type check.
- lmorphism f &lt;-&gt; f is both additive and scalable. This is in
- fact equivalent to linear f, although somewhat
- less convenient to prove.
- lmorphism_for s f &lt;-&gt; f is both additive and scalable for s.
- {linear U -&gt; V} == the interface type for linear functions, i.e., a
- Structure that encapsulates the linear property
- for functions f : U -&gt; V; both U and V must have
- lmodType R structures, for the same R.
- {scalar U} == the interface type for scalar functions, of type
- U -&gt; R where U has an lmodType R structure.
- {linear U -&gt; V | s} == the interface type for functions linear for s.
- Linear lin_f == packs lin_f : lmorphism_for s f into a linear
- function structure of type {linear U -&gt; V | s}.
- As linear_for s f coerces to lmorphism_for s f,
- Linear can be used with lin_f : linear_for s f
- (indeed, that is the recommended usage). Note
- that as linear f, scalar f, {linear U -&gt; V} and
- {scalar U} are simply notation for corresponding
- generic "<i>for" forms, Linear can be used for any
- of these special cases, transparently.
- AddLinear scal_f == packs scal_f : scalable_for s f into a
- {linear U -&gt; V | s} structure; f must already
- have an additive structure; as with Linear,
- AddLinear can be used with lin_f : linear f, etc
- [linear of f as g] == an f-clone of the linear structure of g.
- [linear of f] == a clone of an existing linear structure on f.
- (a *: u)%Rlin == transient forms that simplify to a *: u, a * u,
- (a * u)%Rlin nu a *: u, and nu a * u, respectively, and are
- (a *:^nu u)%Rlin created by rewriting with the linearZ lemma. The
- (a *^nu u)%Rlin forms allows the RHS of linearZ to be matched
- reliably, using the GRing.Scale.law structure.
-<ul class="doclist">
-<li>&gt; Similarly to Ring morphisms, additive properties are specialized for
- linear functions.
-
-</li>
-<li>&gt; Although {scalar U} is convertible to {linear U -&gt; R^o}, it does not
- actually use R^o, so that rewriting preserves the canonical structure
- of the range of scalar functions.
-
-</li>
-<li>&gt; The generic linearZ lemma uses a set of bespoke interface structures to
- ensure that both left-to-right and right-to-left rewriting work even in
- the presence of scaling functions that simplify non-trivially (e.g.,
- idfun \; *%R). Because most of the canonical instances and projections
- are coercions the machinery will be mostly invisible (with only the
- {linear ...} structure and %Rlin notations showing), but users should
- beware that in (a *: f u)%Rlin, a actually occurs in the f u subterm.
-
-</li>
-<li>&gt; The simpler linear_LR, or more specialized linearZZ and scalarZ rules
- should be used instead of linearZ if there are complexity issues, as
- well as for explicit forward and backward application, as the main
- parameter of linearZ is a proper sub-interface of {linear fUV | s}.
-
-</li>
-</ul>
-
-<div class="paragraph"> </div>
-
-<a name="lab20"></a><h1 class="section">LRMorphism (linear ring morphisms, i.e., algebra morphisms):</h1>
-
- lrmorphism f &lt;-&gt; f of type A -&gt; B is a linear Ring (Algebra)
- morphism: f is both additive, multiplicative and
- scalable. A and B must both have lalgType R
- canonical structures, for the same ringType R.
- lrmorphism_for s f &lt;-&gt; f a linear Ring morphism for the scaling
- operator s: f is additive, multiplicative and
- scalable for s. A must be an lalgType R, but B
- only needs to have a ringType structure.
- {lrmorphism A -&gt; B} == the interface type for linear morphisms, i.e., a
- Structure that encapsulates the lrmorphism
- property for functions f : A -&gt; B; both A and B
- must have lalgType R structures, for the same R.
- {lrmorphism A -&gt; B | s} == the interface type for morphisms linear for s.
- LRmorphism lrmorph_f == packs lrmorph_f : lrmorphism_for s f into a
- linear morphism structure of type
- {lrmorphism A -&gt; B | s}. Like Linear, LRmorphism
- can be used transparently for lrmorphism f.
- AddLRmorphism scal_f == packs scal_f : scalable_for s f into a linear
- morphism structure of type
- {lrmorphism A -&gt; B | s}; f must already have an
- {rmorphism A -&gt; B} structure, and AddLRmorphism
- can be applied to a linear_for s f, linear f,
- scalar f, etc argument, like AddLinear.
- [lrmorphism of f] == creates an lrmorphism structure from existing
- rmorphism and linear structures on f; this is
- the preferred way of creating lrmorphism
- structures.
-<ul class="doclist">
-<li>&gt; Linear and rmorphism properties do not need to be specialized for
- as we supply inheritance join instances in both directions.
-
-</li>
-</ul>
- Finally we supply some helper notation for morphisms:
- x^f == the image of x under some morphism. This
- notation is only reserved (not defined) here;
- it is bound locally in sections where some
- morphism is used heavily (e.g., the container
- morphism in the parametricity sections of poly
- and matrix, or the Frobenius section here).
- \0 == the constant null function, which has a
- canonical linear structure, and simplifies on
- application (see ssrfun.v).
- f \+ g == the additive composition of f and g, i.e., the
- function x |-&gt; f x + g x; f \+ g is canonically
- linear when f and g are, and simplifies on
- application (see ssrfun.v).
- f \- g == the function x |-&gt; f x - g x, canonically
- linear when f and g are, and simplifies on
- application.
- k \*: f == the function x |-&gt; k *: f x, which is
- canonically linear when f is and simplifies on
- application (this is a shorter alternative to
- *:%R k \o f).
- GRing.in_alg A == the ring morphism that injects R into A, where A
- has an lalgType R structure; GRing.in_alg A k
- simplifies to k%:A.
- a \*o f == the function x |-&gt; a * f x, canonically linear
- linear when f is and its codomain is an algType
- and which simplifies on application.
- a \o* f == the function x |-&gt; f x * a, canonically linear
- linear when f is and its codomain is an lalgType
- and which simplifies on application.
- The Lemmas about these structures are contained in both the GRing module
- and in the submodule GRing.Theory, which can be imported when unqualified
- access to the theory is needed (GRing.Theory also allows the unqualified
- use of additive, linear, Linear, etc). The main GRing module should NOT be
- imported.
- Notations are defined in scope ring_scope (delimiter %R), except term
- and formula notations, which are in term_scope (delimiter %T).
- This library also extends the conventional suffixes described in library
- ssrbool.v with the following:
- 0 -- ring 0, as in addr0 : x + 0 = x.
- 1 -- ring 1, as in mulr1 : x * 1 = x.
- D -- ring addition, as in linearD : f (u + v) = f u + f v.
- B -- ring subtraction, as in opprB : - (x - y) = y - x.
- M -- ring multiplication, as in invfM : (x * y)^-1 = x^-1 * y^-1.
- Mn -- ring by nat multiplication, as in raddfMn : f (x *+ n) = f x *+ n.
- N -- ring opposite, as in mulNr : (- x) * y = - (x * y).
- V -- ring inverse, as in mulVr : x^-1 * x = 1.
- X -- ring exponentiation, as in rmorphX : f (x ^+ n) = f x ^+ n.
- Z -- (left) module scaling, as in linearZ : f (a *: v) = s *: f v.
- The operator suffixes D, B, M and X are also used for the corresponding
- operations on nat, as in natrX : (m ^ n)%:R = m%:R ^+ n. For the binary
- power operator, a trailing "n" suffix is used to indicate the operator
- suffix applies to the left-hand ring argument, as in
- expr1n : 1 ^+ n = 1 vs. expr1 : x ^+ 1 = x.
-</div>
-<div class="code">
-
-<br/>
-<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;+%R" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;-%R" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;*%R" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> " *%R").<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;*:%R" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> " *:%R").<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;n %:R" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "n %:R").<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;k %:A" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "k %:A").<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;[ 'char' F ]" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'char' F ]").<br/>
-
-<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;x %:T" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "x %:T").<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;''X_' i" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''X_' i").<br/>
-</div>
-
-<div class="doc">
- Patch for recurring Coq parser bug: Coq seg faults when a level 200
- notation is used as a pattern.
-</div>
-<div class="code">
-<span class="id" title="keyword">Reserved Notation</span> &quot;''exists' ''X_' i , f"<br/>
-&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 199, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">right</span> <span class="id" title="keyword">associativity</span>,<br/>
-&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[hv' ''exists' ''X_' i , '/ ' f ']'").<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;''forall' ''X_' i , f"<br/>
-&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 199, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">right</span> <span class="id" title="keyword">associativity</span>,<br/>
-&nbsp;&nbsp;&nbsp;<span class="id" title="var">format</span> "'[hv' ''forall' ''X_' i , '/ ' f ']'").<br/>
-
-<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;x ^f" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>, <span class="id" title="var">format</span> "x ^f").<br/>
-
-<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;\0" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;f \+ g" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;f \- g" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 50, <span class="id" title="tactic">left</span> <span class="id" title="keyword">associativity</span>).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;a \*o f" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 40).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;a \o* f" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 40).<br/>
-<span class="id" title="keyword">Reserved Notation</span> &quot;a \*: f" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 40).<br/>
-
-<br/>
-<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">R</span>.<br/>
-<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">term_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">T</span>.<br/>
-<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="GRing"><span class="id" title="module">GRing</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Monoid.Theory</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Zmodule"><span class="id" title="module">Zmodule</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Zmodule.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<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>}.<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="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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Zmodule.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.base"><span class="id" title="projection">Choice.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<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">&gt;-&gt;</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/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="39c4486aeb13eba38054a2f7092a4a46"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="97b11d2a158d9db11032c2626798c6ac"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule"><span class="id" title="module">Zmodule</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Zmodule.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.zero"><span class="id" title="definition">zero</span></a> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zero"><span class="id" title="projection">Zmodule.zero</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.opp"><span class="id" title="definition">opp</span></a> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.opp"><span class="id" title="projection">Zmodule.opp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.add"><span class="id" title="definition">add</span></a> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add"><span class="id" title="projection">Zmodule.add</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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/>
-
-<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/>
-
-<br/>
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.ZmoduleTheory"><span class="id" title="section">ZmoduleTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.ZmoduleTheory.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">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/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/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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_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.addrA"><span class="id" title="lemma">addrA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add0r"><span class="id" title="lemma">add0r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr0"><span class="id" title="lemma">addr0</span></a>.<br/>
-<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/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/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/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">:&gt;</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#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#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/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#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#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#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#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/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/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/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/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/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#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#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#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/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#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">:&gt;</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#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/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#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/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#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#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#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/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/>
-&nbsp;&nbsp;(<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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">&lt;</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="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/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">&amp;,</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">&amp;,</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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmoduleTheory"><span class="id" title="section">ZmoduleTheory</span></a>.<br/>
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Ring"><span class="id" title="module">Ring</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;@<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Ring.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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>}.<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="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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Ring.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.base"><span class="id" title="projection">Zmodule.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.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">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">&gt;-&gt;</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/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="ecf0b15322b67c769ef6213b9b1c1517"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring"><span class="id" title="module">Ring</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Ring.Exports</span>.<br/>
-
-<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/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/>
-
-<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- The ``field'' characteristic; the definition, and many of the theorems,
- has to apply to rings as well; indeed, we need the Frobenius automorphism
- 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/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/>
-&nbsp;&nbsp;<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">&amp;</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">:&gt;</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/>
-
-<br/>
-</div>
-
-<div class="doc">
- Converse ring tag.
-</div>
-<div class="code">
-<span class="id" title="keyword">Definition</span> <a name="GRing.converse"><span class="id" title="definition">converse</span></a> <span class="id" title="var">R</span> : <span class="id" title="keyword">Type</span> := <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.RingTheory"><span class="id" title="section">RingTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.RingTheory.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>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.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/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">:&gt;</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">:&gt;</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/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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.MulLaw"><span class="id" title="constructor">Monoid.MulLaw</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul0r"><span class="id" title="lemma">mul0r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr0"><span class="id" title="lemma">mulr0</span></a>.<br/>
-<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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<a 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">&lt;-</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">&lt;-</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#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#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#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#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#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#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#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">:&gt;</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#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">:&gt;</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#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">:&gt;</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#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#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#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">:&gt;</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#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">:&gt;</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#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#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/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/>
-<span class="id" title="keyword">Lemma</span> <a name="GRing.commr0"><span class="id" title="lemma">commr0</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> 0.<br/>
-
-<br/>
-<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/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/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/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/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#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/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/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#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#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">:&gt;</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#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#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#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#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#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">:&gt;</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#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">:&gt;</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/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">:&gt;</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/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#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">:&gt;</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/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">:&gt;</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#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">:&gt;</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/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/>
-&nbsp;&nbsp;<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#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">:&gt;</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#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#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">:&gt;</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/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.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.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.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/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/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/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/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#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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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">:&gt;</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/>
-&nbsp;&nbsp;<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">&lt;</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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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">&lt;</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/>
-&nbsp;&nbsp;<a 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">&lt;</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#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">&lt;</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#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">&lt;</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#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#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#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/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/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#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">:&gt;</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> : <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#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#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">:&gt;</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#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">:&gt;</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#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#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation">&lt;</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">&lt;</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">:&gt;</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#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#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#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#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#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#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/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#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#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/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#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/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#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#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#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/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/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#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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;@<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;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#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="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/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">&amp;,</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">&amp;</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/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/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/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/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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RingTheory"><span class="id" title="section">RingTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.RightRegular"><span class="id" title="section">RightRegular</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.RightRegular.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>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RightRegular.R"><span class="id" title="variable">R</span></a>.<br/>
-<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/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/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/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/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/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/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#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/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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Lmodule"><span class="id" title="module">Lmodule</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Lmodule.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.Lmodule.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>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="GRing.Lmodule.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.base"><span class="id" title="projection">Zmodule.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.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">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">&gt;-&gt;</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/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="69479875cda47ffe3dea9a209ad2d298"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="f564c8972b813e490c7ba0cd5a233f85"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule"><span class="id" title="module">Lmodule</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Lmodule.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.scale"><span class="id" title="definition">scale</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>) (<span class="id" title="var">V</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#R"><span class="id" title="variable">R</span></a>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scale"><span class="id" title="projection">Lmodule.scale</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">Lmodule.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#V"><span class="id" title="variable">V</span></a>).<br/>
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.LmoduleTheory"><span class="id" title="section">LmoduleTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variables</span> (<a name="GRing.LmoduleTheory.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.LmoduleTheory.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">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">c</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory.R"><span class="id" title="variable">R</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.LmoduleTheory.V"><span class="id" title="variable">V</span></a>).<br/>
-
-<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#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/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/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/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#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#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">:&gt;</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#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#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#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#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#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#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/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/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#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#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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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="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/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">&amp;,</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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LmoduleTheory"><span class="id" title="section">LmoduleTheory</span></a>.<br/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.Lalgebra.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>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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#mul0"><span class="id" title="variable">mul0</span></a>) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> &amp; <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/>
-&nbsp;&nbsp;<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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Lalgebra.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base"><span class="id" title="projection">Ring.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base2"><span class="id" title="definition">base2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base2"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base2"><span class="id" title="definition">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base2"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.base2"><span class="id" title="definition">Lmodule.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.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">Coercion</span> <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.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.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">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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;: <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="c3932ab7d4b1953f142288e718bebbc4"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra"><span class="id" title="module">Lalgebra</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Lalgebra.Exports</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Scalar injection (see the definition of in_alg A below).
-</div>
-<div class="code">
-
-<br/>
-</div>
-
-<div class="doc">
- Regular ring algebra tag.
-</div>
-<div class="code">
-<span class="id" title="keyword">Definition</span> <a name="GRing.regular"><span class="id" title="definition">regular</span></a> <span class="id" title="var">R</span> : <span class="id" title="keyword">Type</span> := <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.LalgebraTheory"><span class="id" title="section">LalgebraTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variables</span> (<a name="GRing.LalgebraTheory.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.LalgebraTheory.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">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#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#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#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/>
-&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">mkMixin</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mixin"><span class="id" title="constructor">Lmodule.Mixin</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.regular_zmodType"><span class="id" title="definition">regular_zmodType</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.LalgebraTheory.R"><span class="id" title="variable">R</span></a>) <span class="id" title="tactic">in</span><br/>
-&nbsp;&nbsp;<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#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="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/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">&amp;</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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LalgebraTheory"><span class="id" title="section">LalgebraTheory</span></a>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Morphism hierarchy.
-</div>
-<div class="code">
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Additive"><span class="id" title="module">Additive</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Additive.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<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/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/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/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/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>) &amp; <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/>
-&nbsp;&nbsp;@<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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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="9242c465b1ba475eb872a4f54d4904f7"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive"><span class="id" title="module">Additive</span></a>.<br/>
-<span class="id" title="keyword">Include</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports"><span class="id" title="module">Additive.Exports</span></a>. <span class="comment">(*&nbsp;Allows&nbsp;GRing.additive&nbsp;to&nbsp;resolve&nbsp;conflicts.&nbsp;*)</span><br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Lifted additive operations.
-</div>
-<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/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/>
-</div>
-
-<div class="doc">
- Lifted multiplication.
-</div>
-<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/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/>
-</div>
-
-<div class="doc">
- Lifted linear operations.
-</div>
-<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/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/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">
- The real in_alg notation is declared after GRing.Theory so that at least
- in Coq 8.2 it gets precedence when GRing.Theory is not imported.
-</div>
-<div class="code">
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.AdditiveTheory"><span class="id" title="section">AdditiveTheory</span></a>.<br/>
-
-<br/>
-<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/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/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/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/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/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/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/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/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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&amp;</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/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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.Properties"><span class="id" title="section">Properties</span></a>.<br/>
-
-<br/>
-<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#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#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#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#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#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#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/>
-
-<br/>
-<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#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/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/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#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#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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.AddFun"><span class="id" title="section">AddFun</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.AdditiveTheory.MulFun"><span class="id" title="section">MulFun</span></a>.<br/>
-
-<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#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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory.MulFun"><span class="id" title="section">MulFun</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.AdditiveTheory.ScaleFun"><span class="id" title="section">ScaleFun</span></a>.<br/>
-
-<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#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#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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AdditiveTheory"><span class="id" title="section">AdditiveTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.RMorphism"><span class="id" title="module">RMorphism</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.RMorphism.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<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/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/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>) &amp; <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/>
-&nbsp;&nbsp;@<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/>
-&nbsp;&nbsp;<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> &amp; <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/>
-&nbsp;&nbsp;<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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Additive.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="definition">class</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.RMorphism.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.RMorphism.Exports.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.mixin_of"><span class="id" title="definition">mixin_of</span></a> <span class="id" title="var">f</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">f</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.class_of"><span class="id" title="record">class_of</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.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">&gt;-&gt;</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">&gt;-&gt;</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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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="5038fd6baf0faad94b37e6421e96b65c"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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">&gt;-&gt;</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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism"><span class="id" title="module">RMorphism</span></a>.<br/>
-<span class="id" title="keyword">Include</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports"><span class="id" title="module">RMorphism.Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.RmorphismTheory"><span class="id" title="section">RmorphismTheory</span></a>.<br/>
-
-<br/>
-<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/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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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#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#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/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/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/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/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/>
-&nbsp;&nbsp;<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">&amp;</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/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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Properties"><span class="id" title="section">Properties</span></a>.<br/>
-
-<br/>
-<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#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/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/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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory.Projections"><span class="id" title="section">Projections</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.RmorphismTheory.InAlgebra"><span class="id" title="section">InAlgebra</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variables</span> (<a name="GRing.RmorphismTheory.InAlgebra.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.RmorphismTheory.InAlgebra.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/>
-
-<br/>
-<span class="id" title="keyword">Fact</span> <a name="GRing.in_alg_is_rmorphism"><span class="id" title="lemma">in_alg_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.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>).<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">in_alg_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.in_alg_is_rmorphism"><span class="id" title="lemma">in_alg_is_rmorphism</span></a>.<br/>
-<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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RmorphismTheory"><span class="id" title="section">RmorphismTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Scale"><span class="id" title="module">Scale</span></a>.<br/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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/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/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#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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Scale"><span class="id" title="module">Scale</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Linear"><span class="id" title="module">Linear</span></a>.<br/>
-
-<br/>
-<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/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/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/>
-&nbsp;&nbsp;<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">&gt;-&gt;</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/>
-&nbsp;&nbsp;<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">&gt;-&gt;</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/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/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/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/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>) &amp; <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/>
-&nbsp;&nbsp;@<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/>
-&nbsp;&nbsp;<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> &amp; <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/>
-&nbsp;&nbsp;<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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Additive.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="definition">class</span></a>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- 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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Linear.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Scale.mul_law</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Scale.scale_law</span>.<br/>
-<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="18d5a37ddb86b27d9a3e716fcbda4ee7"><span class="id" title="notation">&quot;</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">&quot;</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">&quot;</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/>
-&nbsp;&nbsp;(<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="09fcb2ff53297f611c9440c05c397a76"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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#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#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">&gt;-&gt;</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">&gt;-&gt;</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">&gt;-&gt;</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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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="b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="46175849544ed868533ead6f2ac4a179"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="207c4f83c4cbc5a63a51367b095e08b4"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="6190fe21ffbd3dab252b4f744e9e9c11"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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">&gt;-&gt;</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/>
-</div>
-
-<div class="doc">
- Support for right-to-left rewriting with the generic linearZ rule.
-</div>
-<div class="code">
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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.map_for_map"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map_for_map"><span class="id" title="projection">map_for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map_for_map"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.map_for_map"><span class="id" title="projection">map</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unify_map_at"><span class="id" title="definition">unify_map_at</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unify_map_at"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unify_map_at"><span class="id" title="definition">map_at</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unify_map_at"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unify_map_at"><span class="id" title="definition">map_for</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unify_map_at</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unwrap"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unwrap"><span class="id" title="projection">wrapped</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unwrap"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.unwrap"><span class="id" title="projection">map</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.wrap"><span class="id" title="definition">wrap</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.wrap"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.wrap"><span class="id" title="definition">map_class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.wrap"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.wrap"><span class="id" title="definition">wrapped</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">wrap</span>.<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear"><span class="id" title="module">Linear</span></a>.<br/>
-<span class="id" title="keyword">Include</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports"><span class="id" title="module">Linear.Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory"><span class="id" title="section">LinearTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.LinearTheory.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>.<br/>
-
-<br/>
-<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/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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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">&gt;-&gt;</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/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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.GenericProperties"><span class="id" title="section">GenericProperties</span></a>.<br/>
-
-<br/>
-<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/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>
-
-<div class="doc">
- The general form of the linearZ lemma uses some bespoke interfaces to
- allow right-to-left rewriting when a composite scaling operation such as
- conjC \; *%R has been expanded, say in a^* * f u. This redex is matched
- by using the Scale.law interface to recognize a "head" scaling operation
- h (here *%R), stow away its "scalar" c, then reconcile h c and s a, once
- s is known, that is, once the Linear.map structure for f has been found.
- In general, s and a need not be equal to h and c; indeed they need not
- have the same type! The unification is performed by the unify_map_at
- default instance for the Linear.map_for U s a h_c sub-interface of
- Linear.map; the h_c pattern uses the Scale.law structure to insure it is
- inferred when rewriting right-to-left.
- The wrap on the rhs allows rewriting f (a *: b *: u) into a *: b *: f u
- with rewrite !linearZ /= instead of rewrite linearZ /= linearZ /=.
- Without it, the first rewrite linearZ would produce
- (a *: apply (map_for_map (@check_map_at .. a f)) (b *: u)%R)%Rlin
- and matching the second rewrite LHS would bypass the unify_map_at default
- instance for b, reuse the one for a, and subsequently fail to match the
- b *: u argument. The extra wrap / unwrap ensures that this can't happen.
- In the RL direction, the wrap / unwrap will be inserted on the redex side
- as needed, without causing unnecessary delta-expansion: using an explicit
- identity function would have Coq normalize the redex to head normal, then
- reduce the identity to expose the map_for_map projection, and the
- expanded Linear.map structure would then be exposed in the result.
- Most of this machinery will be invisible to a casual user, because all
- the projections and default instances involved are declared as coercions.
-</div>
-<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/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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<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#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/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/>
-&nbsp;&nbsp;<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">&amp;</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/>
-
-<br/>
-<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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.ScalarProperties"><span class="id" title="section">ScalarProperties</span></a>.<br/>
-
-<br/>
-<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/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/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#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/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#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#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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLmod"><span class="id" title="section">LinearLmod</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.LinearTheory.LinearLalg"><span class="id" title="section">LinearLalg</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.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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory.LinearLalg"><span class="id" title="section">LinearLalg</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LinearTheory"><span class="id" title="section">LinearTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.LRMorphism"><span class="id" title="module">LRMorphism</span></a>.<br/>
-
-<br/>
-<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/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/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/>
-&nbsp;&nbsp;<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/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/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/>
-&nbsp;&nbsp;<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> &amp; <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/>
-&nbsp;&nbsp;<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> &amp;<br/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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> &amp; <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/>
-&nbsp;&nbsp;<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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Pack"><span class="id" title="constructor">Additive.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="definition">class</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">RMorphism.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="definition">class</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Linear.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="definition">class</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">join_rmorphism</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Pack"><span class="id" title="constructor">RMorphism.Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <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.linear"><span class="id" title="definition">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.class"><span class="id" title="definition">class</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">join_linear</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Pack"><span class="id" title="constructor">Linear.Pack</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.R"><span class="id" title="variable">R</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="mathcomp.algebra.ssralg.html#GRing.LRMorphism.ClassDef.B"><span class="id" title="variable">B</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> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.rmorphism"><span class="id" title="definition">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.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.LRMorphism.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<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#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">&gt;-&gt;</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">&gt;-&gt;</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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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="c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="d17433407f88fd9a1e0740e2eddd6566"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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">&gt;-&gt;</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/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.rmorphism"><span class="id" title="definition">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.rmorphism"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.rmorphism"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.rmorphism"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.rmorphism"><span class="id" title="definition">RMorphism.map</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rmorphism</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.linear"><span class="id" title="definition">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.linear"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.linear"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.linear"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.linear"><span class="id" title="definition">Linear.map</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">join_rmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">join_linear</span>.<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism"><span class="id" title="module">LRMorphism</span></a>.<br/>
-<span class="id" title="keyword">Include</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports"><span class="id" title="module">LRMorphism.Exports</span></a>.<br/>
-
-<br/>
-<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/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#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#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/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/>
-&nbsp;&nbsp;<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">&amp;</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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.ComRing"><span class="id" title="module">ComRing</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.ComRing.RingMixin"><span class="id" title="definition">RingMixin</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">mulC</span> <span class="id" title="var">mul1x</span> <span class="id" title="var">mul_addl</span> :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">mulx1</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mulC_id"><span class="id" title="lemma">Monoid.mulC_id</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulC"><span class="id" title="variable">mulC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul1x"><span class="id" title="variable">mul1x</span></a> <span class="id" title="tactic">in</span><br/>
-&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">mul_addr</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.mulC_dist"><span class="id" title="lemma">Monoid.mulC_dist</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulC"><span class="id" title="variable">mulC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mul_addl"><span class="id" title="variable">mul_addl</span></a> <span class="id" title="tactic">in</span><br/>
-&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.EtaMixin"><span class="id" title="definition">Ring.EtaMixin</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>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.ComRing.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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>}.<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="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/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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.ComRing.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.base"><span class="id" title="projection">Ring.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.mixin"><span class="id" title="projection">commutative</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.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">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">&gt;-&gt;</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/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="10459c1b5042aa99a4ad9b14b5d55ba2"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="8b92acac231ba6173223cf75164fca3d"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing"><span class="id" title="module">ComRing</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">ComRing.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.ComRingTheory"><span class="id" title="section">ComRingTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.ComRingTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comRingType"><span class="id" title="abbreviation">comRingType</span></a>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.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/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/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/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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/>
-&nbsp;&nbsp;<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">&lt;</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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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">&lt;</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/>
-&nbsp;&nbsp;<a 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">&lt;</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#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#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#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#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/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/>
-
-<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Frobenius_aut_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.Frobenius_aut_is_rmorphism"><span class="id" title="lemma">Frobenius_aut_is_rmorphism</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Frobenius_aut_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.Frobenius_aut_is_rmorphism"><span class="id" title="lemma">Frobenius_aut_is_rmorphism</span></a>.<br/>
-
-<br/>
-<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#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#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/>
-&nbsp;&nbsp;<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#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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory.ScaleLinear"><span class="id" title="section">ScaleLinear</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRingTheory"><span class="id" title="section">ComRingTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Algebra"><span class="id" title="module">Algebra</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Algebra.Mixin"><span class="id" title="section">Mixin</span></a>.<br/>
-
-<br/>
-<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#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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Algebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.Algebra.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>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">ax</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Algebra.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.base"><span class="id" title="projection">Lalgebra.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.lmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.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">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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;: <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="205d21d03e723fd656efd69d615cdfd2"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra"><span class="id" title="module">Algebra</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Algebra.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.AlgebraTheory"><span class="id" title="section">AlgebraTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variables</span> (<a name="GRing.AlgebraTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="GRing.AlgebraTheory.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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/>
-<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#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#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#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#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/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/>
-&nbsp;&nbsp;<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">&lt;-</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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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#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#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#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/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.AlgebraTheory"><span class="id" title="section">AlgebraTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.UnitRing"><span class="id" title="module">UnitRing</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;@<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/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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>}.<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="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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.UnitRing.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.base"><span class="id" title="projection">Ring.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.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">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">&gt;-&gt;</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/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="76902b774c7fc1cb3d8cfbe482949a53"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing"><span class="id" title="module">UnitRing</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">UnitRing.Exports</span>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.UnitRingTheory"><span class="id" title="section">UnitRingTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.UnitRingTheory.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>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.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/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/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/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/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/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/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/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/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/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/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>
-
-<div class="doc">
- 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/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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<a 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">&lt;</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">&lt;</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">&lt;</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/>
-&nbsp;&nbsp;<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">&lt;</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/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/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/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/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/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/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#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">:&gt;</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#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/>
-&nbsp;&nbsp;<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">:&gt;</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/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/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/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#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">:&gt;</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/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#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">:&gt;</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/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">:&gt;</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/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/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/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">&amp;,</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/>
-&nbsp;&nbsp;<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">&amp;&amp;</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/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#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">&gt;</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#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#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#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/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/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#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/>
-&nbsp;&nbsp;@<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="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/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">&amp;,</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">&amp;</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/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/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/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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRingTheory"><span class="id" title="section">UnitRingTheory</span></a>.<br/>
-
-<br/>
-
-<br/>
-<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#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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.ComUnitRing"><span class="id" title="module">ComUnitRing</span></a>.<br/>
-
-<br/>
-<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/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/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#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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Mixin"><span class="id" title="section">Mixin</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.ComUnitRing.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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>}.<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="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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> &amp; <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/>
-&nbsp;&nbsp;<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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="GRing.ComUnitRing.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base"><span class="id" title="projection">ComRing.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <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#GRing.ComUnitRing.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.mixin"><span class="id" title="projection">UnitRing.mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base2"><span class="id" title="definition">base2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base2"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base2"><span class="id" title="definition">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base2"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.base2"><span class="id" title="definition">UnitRing.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.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">Coercion</span> <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.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.comRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.comRingType"><span class="id" title="definition">ComRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/>
-<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="2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing"><span class="id" title="module">ComUnitRing</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">ComUnitRing.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.UnitAlgebra"><span class="id" title="module">UnitAlgebra</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.UnitAlgebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.UnitAlgebra.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>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> &amp; <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/>
-&nbsp;&nbsp;<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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.UnitAlgebra.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base"><span class="id" title="projection">Algebra.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base2"><span class="id" title="definition">base2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base2"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base2"><span class="id" title="definition">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base2"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.base2"><span class="id" title="definition">UnitRing.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.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">Coercion</span> <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.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.lalgType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.algType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.algType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.algType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.algType"><span class="id" title="definition">Algebra.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">algType</span>.<br/>
-<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/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">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra"><span class="id" title="module">UnitAlgebra</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">UnitAlgebra.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.ComUnitRingTheory"><span class="id" title="section">ComUnitRingTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.ComUnitRingTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.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/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">&amp;&amp;</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/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#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#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/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#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#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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.UnitAlgebraTheory"><span class="id" title="section">UnitAlgebraTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> (<a name="GRing.UnitAlgebraTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>) (<a name="GRing.UnitAlgebraTheory.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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">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/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/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/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="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/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">&amp;</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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebraTheory"><span class="id" title="section">UnitAlgebraTheory</span></a>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Interface structures for algebraically closed predicates.
-</div>
-<div class="code">
-<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/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/>
-<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.div"><span class="id" title="record">div</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Div"><span class="id" title="constructor">Div</span></a> {<a name="GRing.Pred.div_mul"><span class="id" title="projection">div_mul</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul"><span class="id" title="record">mul</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.invr_closed"><span class="id" title="definition">invr_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.submod"><span class="id" title="record">submod</span></a> <span class="id" title="var">R</span> <span class="id" title="var">V</span> <span class="id" title="var">S</span> :=<br/>
-&nbsp;&nbsp;<a name="GRing.Pred.Submod"><span class="id" title="constructor">Submod</span></a> {<a name="GRing.Pred.submod_zmod"><span class="id" title="projection">submod_zmod</span></a> : <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#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<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#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>}.<br/>
-<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.subring"><span class="id" title="record">subring</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Subring"><span class="id" title="constructor">Subring</span></a> {<a name="GRing.Pred.subring_zmod"><span class="id" title="projection">subring_zmod</span></a> : <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#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.sdiv"><span class="id" title="record">sdiv</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> := <a name="GRing.Pred.Sdiv"><span class="id" title="constructor">Sdiv</span></a> {<a name="GRing.Pred.sdiv_smul"><span class="id" title="projection">sdiv_smul</span></a> : <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#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<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#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.subalg"><span class="id" title="record">subalg</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">S</span> :=<br/>
-&nbsp;&nbsp;<a name="GRing.Pred.Subalg"><span class="id" title="constructor">Subalg</span></a> {<a name="GRing.Pred.subalg_ring"><span class="id" title="projection">subalg_ring</span></a> : <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#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<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#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>}.<br/>
-<span class="id" title="keyword">Structure</span> <a name="GRing.Pred.divring"><span class="id" title="record">divring</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> :=<br/>
-&nbsp;&nbsp;<a name="GRing.Pred.Divring"><span class="id" title="constructor">Divring</span></a> {<a name="GRing.Pred.divring_ring"><span class="id" title="projection">divring_ring</span></a> : <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#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<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#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.divalg"><span class="id" title="record">divalg</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.UnitAlgebra.Exports.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>) <span class="id" title="var">S</span> :=<br/>
-&nbsp;&nbsp;<a name="GRing.Pred.Divalg"><span class="id" title="constructor">Divalg</span></a> {<a name="GRing.Pred.divalg_ring"><span class="id" title="projection">divalg_ring</span></a> : <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#S"><span class="id" title="variable">S</span></a>; <span class="id" title="var">_</span> : @<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#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>}.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Pred.Subtyping"><span class="id" title="section">Subtyping</span></a>.<br/>
-
-<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/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/>
-&nbsp;&nbsp;<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#GRing.Pred.add_key"><span class="id" title="projection">add_key</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_add"><span class="id" title="projection">zmod_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#GRing.Pred.zmod_oppr"><span class="id" title="lemma">zmod_oppr</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.semiring_mul"><span class="id" title="definition">semiring_mul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">ringS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.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>) :=<br/>
-&nbsp;&nbsp;<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#GRing.Pred.add_key"><span class="id" title="projection">add_key</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_add"><span class="id" title="projection">semiring_add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_mulr"><span class="id" title="lemma">semiring_mulr</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">Definition</span> <a name="GRing.Pred.smul_mul"><span class="id" title="definition">smul_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.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>) :=<br/>
-&nbsp;&nbsp;<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#GRing.Pred.opp_key"><span class="id" title="projection">opp_key</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_opp"><span class="id" title="projection">smul_opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mulr"><span class="id" title="lemma">smul_mulr</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.subring_semi"><span class="id" title="definition">subring_semi</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">ringS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.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>) :=<br/>
-&nbsp;&nbsp;<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#GRing.Pred.zmod_add"><span class="id" title="projection">zmod_add</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">subring_zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_mulr"><span class="id" title="lemma">subring_mulr</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">Definition</span> <a name="GRing.Pred.subring_smul"><span class="id" title="definition">subring_smul</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">ringS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.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>) :=<br/>
-&nbsp;&nbsp;<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#GRing.Pred.zmod_opp"><span class="id" title="definition">zmod_opp</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">subring_zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_mulr"><span class="id" title="lemma">subring_mulr</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">Definition</span> <a name="GRing.Pred.sdiv_div"><span class="id" title="definition">sdiv_div</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">divS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.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>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Div"><span class="id" title="constructor">Div</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mul"><span class="id" title="definition">smul_mul</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_smul"><span class="id" title="projection">sdiv_smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#divS"><span class="id" title="variable">divS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_invr"><span class="id" title="lemma">sdiv_invr</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">Definition</span> <a name="GRing.Pred.subalg_submod"><span class="id" title="definition">subalg_submod</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> (<span class="id" title="var">algS</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>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Submod"><span class="id" title="constructor">Submod</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">subring_zmod</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_ring"><span class="id" title="projection">subalg_ring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#algS"><span class="id" title="variable">algS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_scaler"><span class="id" title="lemma">subalg_scaler</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#algS"><span class="id" title="variable">algS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.divring_sdiv"><span class="id" title="definition">divring_sdiv</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> (<span class="id" title="var">ringS</span> : @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.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>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Sdiv"><span class="id" title="constructor">Sdiv</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_smul"><span class="id" title="definition">subring_smul</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">divring_ring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ringS"><span class="id" title="variable">ringS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_invr"><span class="id" title="lemma">divring_invr</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">Definition</span> <a name="GRing.Pred.divalg_alg"><span class="id" title="definition">divalg_alg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> (<span class="id" title="var">algS</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>) :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Subalg"><span class="id" title="constructor">Subalg</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">divring_ring</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_ring"><span class="id" title="projection">divalg_ring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#algS"><span class="id" title="variable">algS</span></a>)) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_scaler"><span class="id" title="lemma">divalg_scaler</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#algS"><span class="id" title="variable">algS</span></a>).<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Subtyping"><span class="id" title="section">Subtyping</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Pred.Extensionality"><span class="id" title="section">Extensionality</span></a>.<br/>
-</div>
-
-<div class="doc">
- This could be avoided by exploiting the Coq 8.4 eta-convertibility.
-</div>
-<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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/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/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.div"><span class="id" title="definition">div</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">mulS</span> <span class="id" title="var">invS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Div"><span class="id" title="constructor">Div</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.mul"><span class="id" title="definition">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#invS"><span class="id" title="variable">invS</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.submod"><span class="id" title="definition">submod</span></a> <span class="id" title="var">R</span> <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> <span class="id" title="var">linS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Submod"><span class="id" title="constructor">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="mathcomp.algebra.ssralg.html#GRing.Pred.Default.zmod"><span class="id" title="definition">zmod</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>) <a class="idref" href="mathcomp.algebra.ssralg.html#linS"><span class="id" title="variable">linS</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.subring"><span class="id" title="definition">subring</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">oppS</span> <span class="id" title="var">mulS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Subring"><span class="id" title="constructor">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="mathcomp.algebra.ssralg.html#GRing.Pred.Default.zmod"><span class="id" title="definition">zmod</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>) <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.sdiv"><span class="id" title="definition">sdiv</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> <span class="id" title="var">invS</span> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Sdiv"><span class="id" title="constructor">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="mathcomp.algebra.ssralg.html#GRing.Pred.Default.smul"><span class="id" title="definition">smul</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>) <a class="idref" href="mathcomp.algebra.ssralg.html#invS"><span class="id" title="variable">invS</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.subalg"><span class="id" title="definition">subalg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> <span class="id" title="var">addS</span> <span class="id" title="var">oppS</span> <span class="id" title="var">mulS</span> <span class="id" title="var">linS</span> :=<br/>
-&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Subalg"><span class="id" title="constructor">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="mathcomp.algebra.ssralg.html#GRing.Pred.Default.subring"><span class="id" title="definition">subring</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> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</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">Definition</span> <a name="GRing.Pred.Default.divring"><span class="id" title="definition">divring</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">oppS</span> <span class="id" title="var">mulS</span> <span class="id" title="var">invS</span> :=<br/>
-&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Divring"><span class="id" title="constructor">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="mathcomp.algebra.ssralg.html#GRing.Pred.Default.subring"><span class="id" title="definition">subring</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> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#invS"><span class="id" title="variable">invS</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Default.divalg"><span class="id" title="definition">divalg</span></a> <span class="id" title="var">R</span> <span class="id" title="var">A</span> <span class="id" title="var">S</span> <span class="id" title="var">addS</span> <span class="id" title="var">oppS</span> <span class="id" title="var">mulS</span> <span class="id" title="var">invS</span> <span class="id" title="var">linS</span> :=<br/>
-&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Divalg"><span class="id" title="constructor">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="mathcomp.algebra.ssralg.html#GRing.Pred.Default.divring"><span class="id" title="definition">divring</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> <a class="idref" href="mathcomp.algebra.ssralg.html#mulS"><span class="id" title="variable">mulS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#invS"><span class="id" title="variable">invS</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">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Default"><span class="id" title="module">Default</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Pred.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.oppr_closed"><span class="id" title="abbreviation">oppr_closed</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">Notation</span> <a name="GRing.Pred.Exports.addr_closed"><span class="id" title="abbreviation">addr_closed</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">Notation</span> <a name="GRing.Pred.Exports.mulr_closed"><span class="id" title="abbreviation">mulr_closed</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">Notation</span> <a name="GRing.Pred.Exports.zmod_closed"><span class="id" title="abbreviation">zmod_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closed"><span class="id" title="definition">zmod_closed</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.smulr_closed"><span class="id" title="abbreviation">smulr_closed</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">Notation</span> <a name="GRing.Pred.Exports.invr_closed"><span class="id" title="abbreviation">invr_closed</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">Notation</span> <a name="GRing.Pred.Exports.divr_closed"><span class="id" title="abbreviation">divr_closed</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">Notation</span> <a name="GRing.Pred.Exports.scaler_closed"><span class="id" title="abbreviation">scaler_closed</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">Notation</span> <a name="GRing.Pred.Exports.linear_closed"><span class="id" title="abbreviation">linear_closed</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">Notation</span> <a name="GRing.Pred.Exports.submod_closed"><span class="id" title="abbreviation">submod_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closed"><span class="id" title="definition">submod_closed</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.semiring_closed"><span class="id" title="abbreviation">semiring_closed</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">Notation</span> <a name="GRing.Pred.Exports.subring_closed"><span class="id" title="abbreviation">subring_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed"><span class="id" title="definition">subring_closed</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.sdivr_closed"><span class="id" title="abbreviation">sdivr_closed</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">Notation</span> <a name="GRing.Pred.Exports.subalg_closed"><span class="id" title="abbreviation">subalg_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closed"><span class="id" title="definition">subalg_closed</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.divring_closed"><span class="id" title="abbreviation">divring_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed"><span class="id" title="definition">divring_closed</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.divalg_closed"><span class="id" title="abbreviation">divalg_closed</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closed"><span class="id" title="definition">divalg_closed</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedD"><span class="id" title="lemma">zmod_closedD</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedD"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedD"><span class="id" title="lemma">zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedD"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedD"><span class="id" title="lemma">addr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedN"><span class="id" title="lemma">zmod_closedN</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedN"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedN"><span class="id" title="lemma">zmod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedN"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.zmod_closedN"><span class="id" title="lemma">oppr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedN"><span class="id" title="lemma">smulr_closedN</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedN"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedN"><span class="id" title="lemma">smulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedN"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedN"><span class="id" title="lemma">oppr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedM"><span class="id" title="lemma">smulr_closedM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedM"><span class="id" title="lemma">smulr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.smulr_closedM"><span class="id" title="lemma">mulr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedV"><span class="id" title="lemma">divr_closedV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedV"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedV"><span class="id" title="lemma">divr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedV"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedV"><span class="id" title="lemma">invr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedM"><span class="id" title="lemma">divr_closedM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedM"><span class="id" title="lemma">divr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_closedM"><span class="id" title="lemma">mulr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedZ"><span class="id" title="lemma">submod_closedZ</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedZ"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedZ"><span class="id" title="lemma">submod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedZ"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedZ"><span class="id" title="lemma">scaler_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedB"><span class="id" title="lemma">submod_closedB</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedB"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedB"><span class="id" title="lemma">submod_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedB"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.submod_closedB"><span class="id" title="lemma">zmod_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedD"><span class="id" title="lemma">semiring_closedD</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedD"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedD"><span class="id" title="lemma">semiring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedD"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedD"><span class="id" title="lemma">addr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedM"><span class="id" title="lemma">semiring_closedM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedM"><span class="id" title="lemma">semiring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.semiring_closedM"><span class="id" title="lemma">mulr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedB"><span class="id" title="lemma">subring_closedB</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedB"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedB"><span class="id" title="lemma">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedB"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedB"><span class="id" title="lemma">zmod_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedM"><span class="id" title="lemma">subring_closedM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedM"><span class="id" title="lemma">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closedM"><span class="id" title="lemma">smulr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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_semi"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed_semi"><span class="id" title="lemma">subring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed_semi"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subring_closed_semi"><span class="id" title="lemma">semiring_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closedM"><span class="id" title="lemma">sdivr_closedM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closedM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closedM"><span class="id" title="lemma">sdivr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closedM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closedM"><span class="id" title="lemma">smulr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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_div"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed_div"><span class="id" title="lemma">sdivr_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed_div"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sdivr_closed_div"><span class="id" title="lemma">divr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedZ"><span class="id" title="lemma">subalg_closedZ</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedZ"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedZ"><span class="id" title="lemma">subalg_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedZ"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedZ"><span class="id" title="lemma">submod_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedBM"><span class="id" title="lemma">subalg_closedBM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedBM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedBM"><span class="id" title="lemma">subalg_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedBM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subalg_closedBM"><span class="id" title="lemma">subring_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closedBM"><span class="id" title="lemma">divring_closedBM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closedBM"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closedBM"><span class="id" title="lemma">divring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closedBM"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closedBM"><span class="id" title="lemma">subring_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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_div"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed_div"><span class="id" title="lemma">divring_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed_div"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divring_closed_div"><span class="id" title="lemma">sdivr_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedZ"><span class="id" title="lemma">divalg_closedZ</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedZ"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedZ"><span class="id" title="lemma">divalg_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedZ"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedZ"><span class="id" title="lemma">subalg_closed</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedBdiv"><span class="id" title="lemma">divalg_closedBdiv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedBdiv"><span class="id" title="lemma">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedBdiv"><span class="id" title="lemma">divalg_closed</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedBdiv"><span class="id" title="lemma">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divalg_closedBdiv"><span class="id" title="lemma">divring_closed</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_key"><span class="id" title="projection">opp_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_key"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_key"><span class="id" title="projection">opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_key"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_key"><span class="id" title="projection">pred_key</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add_key"><span class="id" title="projection">add_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add_key"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add_key"><span class="id" title="projection">add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add_key"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add_key"><span class="id" title="projection">pred_key</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_key"><span class="id" title="projection">mul_key</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_key"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_key"><span class="id" title="projection">mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_key"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_key"><span class="id" title="projection">pred_key</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_opp"><span class="id" title="definition">zmod_opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_opp"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_opp"><span class="id" title="definition">zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_opp"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_opp"><span class="id" title="definition">opp</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">zmod_opp</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_add"><span class="id" title="projection">zmod_add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_add"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_add"><span class="id" title="projection">zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_add"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod_add"><span class="id" title="projection">add</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_add"><span class="id" title="projection">semiring_add</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_add"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_add"><span class="id" title="projection">semiring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_add"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_add"><span class="id" title="projection">add</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_mul"><span class="id" title="definition">semiring_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_mul"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_mul"><span class="id" title="definition">semiring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_mul"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring_mul"><span class="id" title="definition">mul</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">semiring_mul</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_opp"><span class="id" title="projection">smul_opp</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_opp"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_opp"><span class="id" title="projection">smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_opp"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_opp"><span class="id" title="projection">opp</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mul"><span class="id" title="definition">smul_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mul"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mul"><span class="id" title="definition">smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mul"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul_mul"><span class="id" title="definition">mul</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">smul_mul</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.div_mul"><span class="id" title="projection">div_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.div_mul"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.div_mul"><span class="id" title="projection">div</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.div_mul"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.div_mul"><span class="id" title="projection">mul</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod_zmod"><span class="id" title="projection">submod_zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod_zmod"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod_zmod"><span class="id" title="projection">submod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod_zmod"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod_zmod"><span class="id" title="projection">zmod</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">subring_zmod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">subring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_zmod"><span class="id" title="projection">zmod</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_semi"><span class="id" title="definition">subring_semi</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_semi"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_semi"><span class="id" title="definition">subring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_semi"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_semi"><span class="id" title="definition">semiring</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subring_semi</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_smul"><span class="id" title="definition">subring_smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_smul"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_smul"><span class="id" title="definition">subring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_smul"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring_smul"><span class="id" title="definition">smul</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subring_smul</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_smul"><span class="id" title="projection">sdiv_smul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_smul"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_smul"><span class="id" title="projection">sdiv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_smul"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_smul"><span class="id" title="projection">smul</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_div"><span class="id" title="definition">sdiv_div</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_div"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_div"><span class="id" title="definition">sdiv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_div"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv_div"><span class="id" title="definition">div</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">sdiv_div</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_submod"><span class="id" title="definition">subalg_submod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_submod"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_submod"><span class="id" title="definition">subalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_submod"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_submod"><span class="id" title="definition">submod</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subalg_submod</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_ring"><span class="id" title="projection">subalg_ring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_ring"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_ring"><span class="id" title="projection">subalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_ring"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg_ring"><span class="id" title="projection">subring</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">divring_ring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">divring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_ring"><span class="id" title="projection">subring</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_sdiv"><span class="id" title="definition">divring_sdiv</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_sdiv"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_sdiv"><span class="id" title="definition">divring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_sdiv"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring_sdiv"><span class="id" title="definition">sdiv</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">divring_sdiv</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_alg"><span class="id" title="definition">divalg_alg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_alg"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_alg"><span class="id" title="definition">divalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_alg"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_alg"><span class="id" title="definition">subalg</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">divalg_alg</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_ring"><span class="id" title="projection">divalg_ring</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_ring"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_ring"><span class="id" title="projection">divalg</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_ring"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg_ring"><span class="id" title="projection">divring</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.opprPred"><span class="id" title="abbreviation">opprPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp"><span class="id" title="record">opp</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.addrPred"><span class="id" title="abbreviation">addrPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add"><span class="id" title="record">add</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.mulrPred"><span class="id" title="abbreviation">mulrPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul"><span class="id" title="record">mul</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.zmodPred"><span class="id" title="abbreviation">zmodPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.zmod"><span class="id" title="record">zmod</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.semiringPred"><span class="id" title="abbreviation">semiringPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.semiring"><span class="id" title="record">semiring</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.smulrPred"><span class="id" title="abbreviation">smulrPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.smul"><span class="id" title="record">smul</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.divrPred"><span class="id" title="abbreviation">divrPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.div"><span class="id" title="record">div</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.submodPred"><span class="id" title="abbreviation">submodPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.submod"><span class="id" title="record">submod</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.subringPred"><span class="id" title="abbreviation">subringPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subring"><span class="id" title="record">subring</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.sdivrPred"><span class="id" title="abbreviation">sdivrPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.sdiv"><span class="id" title="record">sdiv</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.subalgPred"><span class="id" title="abbreviation">subalgPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.subalg"><span class="id" title="record">subalg</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.divringPred"><span class="id" title="abbreviation">divringPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divring"><span class="id" title="record">divring</span></a>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Pred.Exports.divalgPred"><span class="id" title="abbreviation">divalgPred</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.divalg"><span class="id" title="record">divalg</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.OpprPred"><span class="id" title="definition">OpprPred</span></a> <span class="id" title="var">U</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">NkS</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#k"><span class="id" title="variable">k</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_ext"><span class="id" title="lemma">opp_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#NkS"><span class="id" title="variable">NkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> <span class="id" title="var">U</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">DkS</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#k"><span class="id" title="variable">k</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.add_ext"><span class="id" title="lemma">add_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#DkS"><span class="id" title="variable">DkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.MulrPred"><span class="id" title="definition">MulrPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">MkS</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#k"><span class="id" title="variable">k</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_ext"><span class="id" title="lemma">mul_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#MkS"><span class="id" title="variable">MkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.ZmodPred"><span class="id" title="definition">ZmodPred</span></a> <span class="id" title="var">U</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">NkS</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#k"><span class="id" title="variable">k</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.opp_ext"><span class="id" title="lemma">opp_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#NkS"><span class="id" title="variable">NkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.SemiringPred"><span class="id" title="definition">SemiringPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">MkS</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#k"><span class="id" title="variable">k</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_ext"><span class="id" title="lemma">mul_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#MkS"><span class="id" title="variable">MkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.SmulrPred"><span class="id" title="definition">SmulrPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">MkS</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#k"><span class="id" title="variable">k</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.mul_ext"><span class="id" title="lemma">mul_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#MkS"><span class="id" title="variable">MkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.DivrPred"><span class="id" title="definition">DivrPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">VkS</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Div"><span class="id" title="constructor">Div</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#GRing.Pred.inv_ext"><span class="id" title="lemma">inv_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#VkS"><span class="id" title="variable">VkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.SubmodPred"><span class="id" title="definition">SubmodPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">U</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">ZkS</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Submod"><span class="id" title="constructor">Submod</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#GRing.Pred.scale_ext"><span class="id" title="lemma">scale_ext</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#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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ZkS"><span class="id" title="variable">ZkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.SubringPred"><span class="id" title="definition">SubringPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">MkS</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Subring"><span class="id" title="constructor">Subring</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#GRing.Pred.mul_ext"><span class="id" title="lemma">mul_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#MkS"><span class="id" title="variable">MkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.SdivrPred"><span class="id" title="definition">SdivrPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">VkS</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Sdiv"><span class="id" title="constructor">Sdiv</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#GRing.Pred.inv_ext"><span class="id" title="lemma">inv_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#VkS"><span class="id" title="variable">VkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.SubalgPred"><span class="id" title="definition">SubalgPred</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">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">ZkS</span> :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Subalg"><span class="id" title="constructor">Subalg</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#GRing.Pred.scale_ext"><span class="id" title="lemma">scale_ext</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="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ZkS"><span class="id" title="variable">ZkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.DivringPred"><span class="id" title="definition">DivringPred</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">VkS</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Divring"><span class="id" title="constructor">Divring</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#GRing.Pred.inv_ext"><span class="id" title="lemma">inv_ext</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> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#VkS"><span class="id" title="variable">VkS</span></a>).<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Pred.Exports.DivalgPred"><span class="id" title="definition">DivalgPred</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.UnitAlgebra.Exports.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>) <span class="id" title="var">S</span> <span class="id" title="var">k</span> <span class="id" title="var">kS</span> <span class="id" title="var">ZkS</span> :=<br/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Divalg"><span class="id" title="constructor">Divalg</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#GRing.Pred.scale_ext"><span class="id" title="lemma">scale_ext</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="mathcomp.algebra.ssralg.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#kS"><span class="id" title="variable">kS</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ZkS"><span class="id" title="variable">ZkS</span></a>).<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred"><span class="id" title="module">Pred</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Pred.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.DefaultPred"><span class="id" title="module">DefaultPred</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.opp</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.add</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.mul</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.zmod</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.semiring</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.smul</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.div</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.submod</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.subring</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.sdiv</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.subalg</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.divring</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Pred.Default.divalg</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DefaultPred"><span class="id" title="module">DefaultPred</span></a>.<br/>
-
-<br/>
-<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="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/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/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/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">&amp;,</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/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/>
-&nbsp;&nbsp;<a 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">&lt;-</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/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/>
-
-<br/>
-<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/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/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/>
-
-<br/>
-<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/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/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">&amp;,</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/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/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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ZmodulePred"><span class="id" title="section">ZmodulePred</span></a>.<br/>
-
-<br/>
-<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="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/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/>
-&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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/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/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/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">&amp;,</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/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/>
-&nbsp;&nbsp;<a 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">&lt;-</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/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/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/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/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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<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="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/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/>
-&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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/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/>
-&nbsp;&nbsp;<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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.UnitRingPred"><span class="id" title="section">UnitRingPred</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.UnitRingPred.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>.<br/>
-
-<br/>
-<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="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/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/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/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">&amp;,</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/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/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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">Fact</span> <a name="GRing.unitr_sdivr_closed"><span class="id" title="lemma">unitr_sdivr_closed</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="mathcomp.algebra.ssralg.html#GRing.UnitRingPred.R"><span class="id" title="variable">R</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">Canonical</span> <span class="id" title="var">unit_opprPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.OpprPred"><span class="id" title="definition">OpprPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr_sdivr_closed"><span class="id" title="lemma">unitr_sdivr_closed</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_mulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.MulrPred"><span class="id" title="definition">MulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr_sdivr_closed"><span class="id" title="lemma">unitr_sdivr_closed</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_divrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DivrPred"><span class="id" title="definition">DivrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr_sdivr_closed"><span class="id" title="lemma">unitr_sdivr_closed</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_smulrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SmulrPred"><span class="id" title="definition">SmulrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr_sdivr_closed"><span class="id" title="lemma">unitr_sdivr_closed</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_sdivrPred</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SdivrPred"><span class="id" title="definition">SdivrPred</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr_sdivr_closed"><span class="id" title="lemma">unitr_sdivr_closed</span></a>.<br/>
-
-<br/>
-<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/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#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#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/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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-</div>
-
-<div class="doc">
- Reification of the theory of rings with units, in named style
-</div>
-<div class="code">
-<span class="id" title="keyword">Section</span> <a name="GRing.TermDef"><span class="id" title="section">TermDef</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.TermDef.R"><span class="id" title="variable">R</span></a> : <span class="id" title="keyword">Type</span>.<br/>
-
-<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/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/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> &amp; <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> &amp; <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> &amp; <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> &amp; <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/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> &amp; <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> &amp; <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> &amp; <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> &amp; <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/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> &amp; <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> &amp; <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/>
-
-<br/>
-
-<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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Substitution"><span class="id" title="section">Substitution</span></a>.<br/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==&gt;</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">==&gt;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Substitution"><span class="id" title="section">Substitution</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.EvalTerm"><span class="id" title="section">EvalTerm</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.EvalTerm.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>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Evaluation of a reified term into R a ring with units
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;<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/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/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/>
-&nbsp;&nbsp;<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>
-
-<div class="doc">
- Evaluation of a reified formula
-</div>
-<div class="code">
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==&gt;</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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;<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/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>
-
-<div class="doc">
- 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/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>
-
-<div class="doc">
- Evaluation and substitution by a constant
-</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/>
-&nbsp;&nbsp;<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>
-
-<div class="doc">
- Boolean test selecting terms in the language of rings
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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">&amp;&amp;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Boolean test selecting formulas in the theory of rings
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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">&amp;&amp;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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">==&gt;</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">&amp;&amp;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Upper bound of the names used in a term
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <span class="id" title="var">_</span> ⇒ 0%<span class="id" title="var">N</span><br/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Replaces inverses in the term t by fresh variables, accumulating the
- 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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <a class="idref" href="mathcomp.algebra.ssralg.html#e2d8b10a7f82d8520cd39f5ef78702a0"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> ⇒<br/>
-&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;<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/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>
-
-<div class="doc">
- A ring formula stating that t1 is equal to 0 in the ring theory.
- Also applies to non commutative rings.
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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">==&gt;</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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span><br/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-</div>
-
-<div class="doc">
- Transformation of a formula in the theory of rings with units into an
- equivalent formula in the sub-theory of rings.
-</div>
-<div class="code">
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==&gt;</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">==&gt;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- The transformation gives a ring formula.
-</div>
-<div class="code">
-<span class="id" title="keyword">Lemma</span> <a name="GRing.to_rform_rformula"><span class="id" title="lemma">to_rform_rformula</span></a> <span class="id" title="var">f</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.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/>
-
-<br/>
-</div>
-
-<div class="doc">
- 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/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>
-
-<div class="doc">
- Boolean test selecting formulas which describe a constructible set,
- i.e. formulas without quantifiers.
-<div class="paragraph"> </div>
-
- The quantifier elimination check.
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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">==&gt;</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">&amp;&amp;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- 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/V8.9.0/stdlib//Coq.Init.Datatypes.html#bool"><span class="id" title="inductive">bool</span></a> :=<br/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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">&amp;&amp;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==&gt;</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">==&gt;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;|<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/>
-&nbsp;&nbsp;<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- 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/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/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>
-
-<div class="doc">
- Quantifier-free formula are normalized into DNF. A DNF is
- represented by the type seq (seq (term R) * seq (term R)), where we
- separate positive and negative literals
-<div class="paragraph"> </div>
-
- DNF preserving conjunction
-</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/>
-&nbsp;&nbsp;<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">&lt;-</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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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>
-
-<div class="doc">
- 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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==&gt;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;<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">&quot;</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>
-
-<div class="doc">
- Conversely, transforms a DNF into a formula
-</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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-</div>
-
-<div class="doc">
- Catenation of dnf is the Or of formulas
-</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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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>
-
-<div class="doc">
- and_dnf is the And of formulas
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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">&amp;&amp;</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/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">&amp;&amp;</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/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/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/>
-
-<br/>
-<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#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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;<a 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/>
-&nbsp;&nbsp;&nbsp;<a 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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.EvalTerm.MultiQuant"><span class="id" title="section">MultiQuant</span></a>.<br/>
-
-<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/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/>
-&nbsp;&nbsp;<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">&amp;</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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.EvalTerm"><span class="id" title="section">EvalTerm</span></a>.<br/>
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.IntegralDomain"><span class="id" title="module">IntegralDomain</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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>}.<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="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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.IntegralDomain.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.base"><span class="id" title="projection">ComUnitRing.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.mixin"><span class="id" title="projection">axiom</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.comRingType"><span class="id" title="definition">ComRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/>
-<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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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="b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain"><span class="id" title="module">IntegralDomain</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">IntegralDomain.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.IntegralDomainTheory"><span class="id" title="section">IntegralDomainTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.IntegralDomainTheory.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.idomainType"><span class="id" title="abbreviation">idomainType</span></a>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.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/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/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/>
-&nbsp;&nbsp;<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">&amp;</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/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/>
-&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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">&lt;-</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">&amp;&amp;</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#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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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">&lt;-</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">==&gt;</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/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">&gt;</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">&amp;&amp;</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/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#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/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">:&gt;</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#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">&gt;</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">:&gt;</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#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">:&gt;</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#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">:&gt;</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/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#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#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#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#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/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/>
-&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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">&lt;</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/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/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#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/>
-
-<br/>
-
-<br/>
-<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">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/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">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">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#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/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.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">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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.Field.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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>}.<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="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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Field.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.base"><span class="id" title="projection">IntegralDomain.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comRingType"><span class="id" title="definition">ComRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <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.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comUnitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comUnitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.comUnitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.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">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">&gt;-&gt;</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/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="47ab34bf5497a33543a0c8593815a525"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="be36f4c61e9a82f836d531a63f34e6c2"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field"><span class="id" title="module">Field</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">Field.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.FieldTheory"><span class="id" title="section">FieldTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.FieldTheory.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.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.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/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#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#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/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#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#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#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#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation">&lt;</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;<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">&lt;-</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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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/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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<a 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">&lt;</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">&lt;</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">&lt;</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/>
-&nbsp;&nbsp;<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">&lt;</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/>
-&nbsp;&nbsp;<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#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/>
-&nbsp;&nbsp;<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">:&gt;</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#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/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/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/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#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/>
-
-<br/>
-<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#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/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/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/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#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/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.FieldTheory.ModuleTheory.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.FieldTheory.F"><span class="id" title="variable">F</span></a>.<br/>
-<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">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#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#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#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/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/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/>
-&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/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#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="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/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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.FieldTheory"><span class="id" title="section">FieldTheory</span></a>.<br/>
-
-<br/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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>}.<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="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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.DecidableField.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.base"><span class="id" title="projection">Field.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comRingType"><span class="id" title="definition">ComRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comUnitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comUnitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.comUnitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.idomainType"><span class="id" title="definition">idomainType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.idomainType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.idomainType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.idomainType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.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">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">&gt;-&gt;</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/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="29a9c5427a3ebd772d1548a40a20219d"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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="e40d136c069cdf352d78bc69141aeefa"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField"><span class="id" title="module">DecidableField</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">DecidableField.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.DecidableFieldTheory"><span class="id" title="section">DecidableFieldTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.DecidableFieldTheory.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.decFieldType"><span class="id" title="abbreviation">decFieldType</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.sat"><span class="id" title="definition">sat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="projection">DecidableField.sat</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.class"><span class="id" title="definition">DecidableField.class</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableFieldTheory.F"><span class="id" title="variable">F</span></a>).<br/>
-
-<br/>
-<span class="id" title="keyword">Lemma</span> <a name="GRing.satP"><span class="id" title="lemma">satP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.axiom"><span class="id" title="definition">DecidableField.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">sat</span></a>.<br/>
-
-<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/>
-&nbsp;&nbsp;<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">&amp;&amp;</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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;<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/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/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">&amp;</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/>
-&nbsp;&nbsp;<a 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/>
-&nbsp;&nbsp;<a 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/>
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.QE_Mixin"><span class="id" title="section">QE_Mixin</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.QE_Mixin.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.type"><span class="id" title="record">Field.type</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.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/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">
- proj is the elimination of a single existential quantifier
-<div class="paragraph"> </div>
-
- The elimination projector is well_formed.
-</div>
-<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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">&amp;&amp;</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>
-
-<div class="doc">
- The elimination projector is valid
-</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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#33d69901017412abb2c3513a87e991c1"><span class="id" title="notation">==&gt;</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/>
-&nbsp;&nbsp;| <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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| (<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/>
-&nbsp;&nbsp;| <span class="id" title="var">_</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#f"><span class="id" title="variable">f</span></a><br/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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">&amp;&amp;</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/>
-&nbsp;&nbsp;<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/>
-
-<br/>
-<span class="id" title="keyword">Lemma</span> <a name="GRing.proj_satP"><span class="id" title="lemma">proj_satP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.axiom"><span class="id" title="definition">DecidableField.axiom</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.proj_sat"><span class="id" title="definition">proj_sat</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.QEdecFieldMixin"><span class="id" title="definition">QEdecFieldMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Mixin"><span class="id" title="constructor">DecidableField.Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.proj_satP"><span class="id" title="lemma">proj_satP</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.QE_Mixin"><span class="id" title="section">QE_Mixin</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.ClosedField"><span class="id" title="module">ClosedField</span></a>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- Axiom == all non-constant monic polynomials have a root
-</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/>
-&nbsp;&nbsp;<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">&gt;</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/>
-&nbsp;&nbsp;&nbsp;<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">&lt;</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/>
-&nbsp;&nbsp;<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>}.<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="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>)) :=<br/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <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/>
-&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> &amp; <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>
-
-<div class="doc">
- There should eventually be a constructor from polynomial resolution
- that builds the DecidableField mixin using QE.
-</div>
-<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>.<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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.ClosedField.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.base"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.base"><span class="id" title="projection">DecidableField.class_of</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comRingType"><span class="id" title="definition">ComRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.unitRingType"><span class="id" title="definition">UnitRing.type</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitRingType</span>.<br/>
-<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comUnitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comUnitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.comUnitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.idomainType"><span class="id" title="definition">idomainType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.idomainType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.idomainType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.idomainType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.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">Coercion</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.fieldType"><span class="id" title="definition">fieldType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.fieldType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.fieldType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.fieldType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.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">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">&gt;-&gt;</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/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">&quot;</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/>
-&nbsp;&nbsp;(<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="4fcb7e9ad725fb7730e1c5fbb1867235"><span class="id" title="notation">&quot;</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/>
-&nbsp;&nbsp;(<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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField"><span class="id" title="module">ClosedField</span></a>.<br/>
-<span class="id" title="keyword">Import</span> <span class="id" title="var">ClosedField.Exports</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="GRing.ClosedFieldTheory"><span class="id" title="section">ClosedFieldTheory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variable</span> <a name="GRing.ClosedFieldTheory.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.closedFieldType"><span class="id" title="abbreviation">closedFieldType</span></a>.<br/>
-
-<br/>
-<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/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/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.SubType"><span class="id" title="module">SubType</span></a>.<br/>
-
-<br/>
-<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="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/>
-<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Zmodule.zeroU"><span class="id" title="variable">zeroU</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.rpred0"><span class="id" title="lemma">rpred0</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.oppU"><span class="id" title="variable">oppU</span></a> (<span class="id" title="var">u</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.rpredNr"><span class="id" title="lemma">rpredNr</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.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/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/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/>
-
-<br/>
-<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="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/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">:&gt;</span></a> <span class="id" title="keyword">Type</span>) :=<br/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/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">:&gt;</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/>
-<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.oneT"><span class="id" title="variable">oneT</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.inT"><span class="id" title="variable">inT</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred1"><span class="id" title="lemma">rpred1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.kS"><span class="id" title="variable">kS</span></a>).<br/>
-<span class="id" title="keyword">Let</span> <a name="GRing.SubType.Ring.mulT"><span class="id" title="variable">mulT</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.Ring.T"><span class="id" title="variable">T</span></a>) := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring.inT"><span class="id" title="variable">inT</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredM"><span class="id" title="lemma">rpredM</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/>
-<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/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/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/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">:&gt;</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/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Ring"><span class="id" title="section">Ring</span></a>.<br/>
-
-<br/>
-<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="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">:&gt;</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/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/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/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/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;<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">&gt;-&gt;</span></a> <a 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/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/>
-&nbsp;&nbsp;<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/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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;@<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/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">:&gt;</span></a> <span class="id" title="keyword">Type</span>) :=<br/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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="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/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">:&gt;</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/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/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/>
-&nbsp;&nbsp;<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/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#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/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/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;@<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/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/>
-&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;@<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="f379225ec8dfc5d660cf07deb0b2efb4"><span class="id" title="notation">&quot;</span></a>[ 'zmodMixin' 'of' U 'by' &lt;: ]" := (<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="f625c62aceb0354308865d5dd53ab01f"><span class="id" title="notation">&quot;</span></a>[ 'ringMixin' 'of' R 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(@<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="38b3ea7fc6d29c65cc1ec0b680489dc7"><span class="id" title="notation">&quot;</span></a>[ 'lmodMixin' 'of' U 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(@<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="9aac47d9eeb1b3e6d5a5febc761ef694"><span class="id" title="notation">&quot;</span></a>[ 'lalgMixin' 'of' A 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;((<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation">&quot;</span></a>[ 'comRingMixin' 'of' R 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="26e6b9f0e308a1d93a5b9cc3600f1f94"><span class="id" title="notation">&quot;</span></a>[ 'algMixin' 'of' A 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="b301713c2aba0b85ce0f12fd24d9fa6c"><span class="id" title="notation">&quot;</span></a>[ 'unitRingMixin' 'of' R 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(@<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation">&quot;</span></a>[ 'idomainMixin' 'of' R 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-<span class="id" title="keyword">Notation</span> <a name="83cca6b725db9972b036f288f094080c"><span class="id" title="notation">&quot;</span></a>[ 'fieldMixin' 'of' F 'by' &lt;: ]" :=<br/>
-&nbsp;&nbsp;(<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/>
-&nbsp;&nbsp;(<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' &lt;: ]") : <span class="id" title="var">form_scope</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType.Exports"><span class="id" title="module">Exports</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.SubType"><span class="id" title="module">SubType</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Module</span> <a name="GRing.Theory"><span class="id" title="module">Theory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrA"><span class="id" title="definition">addrA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrA"><span class="id" title="lemma">addrA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrC"><span class="id" title="definition">addrC</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrC"><span class="id" title="lemma">addrC</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.add0r"><span class="id" title="definition">add0r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.add0r"><span class="id" title="lemma">add0r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addNr"><span class="id" title="definition">addNr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addNr"><span class="id" title="lemma">addNr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addr0"><span class="id" title="definition">addr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr0"><span class="id" title="lemma">addr0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrN"><span class="id" title="definition">addrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrN"><span class="id" title="lemma">addrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subrr"><span class="id" title="definition">subrr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrr"><span class="id" title="definition">subrr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrCA"><span class="id" title="definition">addrCA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrCA"><span class="id" title="lemma">addrCA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrAC"><span class="id" title="definition">addrAC</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrAC"><span class="id" title="lemma">addrAC</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrACA"><span class="id" title="definition">addrACA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrACA"><span class="id" title="lemma">addrACA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addKr"><span class="id" title="definition">addKr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addKr"><span class="id" title="lemma">addKr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addNKr"><span class="id" title="definition">addNKr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addNKr"><span class="id" title="lemma">addNKr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrK"><span class="id" title="definition">addrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrK"><span class="id" title="lemma">addrK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrNK"><span class="id" title="definition">addrNK</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">Definition</span> <a name="GRing.Theory.subrK"><span class="id" title="definition">subrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrK"><span class="id" title="definition">subrK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subKr"><span class="id" title="definition">subKr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subKr"><span class="id" title="lemma">subKr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrI"><span class="id" title="definition">addrI</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrI"><span class="id" title="lemma">addrI</span></a>.<br/>
-<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.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/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addr0_eq"><span class="id" title="definition">addr0_eq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr0_eq"><span class="id" title="lemma">addr0_eq</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr0_eq"><span class="id" title="definition">subr0_eq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr0_eq"><span class="id" title="lemma">subr0_eq</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr_eq0"><span class="id" title="definition">subr_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_eq0"><span class="id" title="lemma">subr_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addr_eq0"><span class="id" title="definition">addr_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addr_eq0"><span class="id" title="lemma">addr_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eqr_opp"><span class="id" title="definition">eqr_opp</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eqr_opp"><span class="id" title="lemma">eqr_opp</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eqr_oppLR"><span class="id" title="definition">eqr_oppLR</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eqr_oppLR"><span class="id" title="lemma">eqr_oppLR</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sumrN"><span class="id" title="definition">sumrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sumrN"><span class="id" title="lemma">sumrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sumrB"><span class="id" title="definition">sumrB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sumrB"><span class="id" title="lemma">sumrB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sumrMnl"><span class="id" title="definition">sumrMnl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sumrMnl"><span class="id" title="lemma">sumrMnl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sumrMnr"><span class="id" title="definition">sumrMnr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sumrMnr"><span class="id" title="lemma">sumrMnr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sumr_const"><span class="id" title="definition">sumr_const</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sumr_const"><span class="id" title="lemma">sumr_const</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.telescope_sumr"><span class="id" title="definition">telescope_sumr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.telescope_sumr"><span class="id" title="lemma">telescope_sumr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr0n"><span class="id" title="definition">mulr0n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr0n"><span class="id" title="lemma">mulr0n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr1n"><span class="id" title="definition">mulr1n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr1n"><span class="id" title="lemma">mulr1n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr2n"><span class="id" title="definition">mulr2n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr2n"><span class="id" title="lemma">mulr2n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrS"><span class="id" title="definition">mulrS</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrS"><span class="id" title="lemma">mulrS</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrSr"><span class="id" title="definition">mulrSr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrSr"><span class="id" title="lemma">mulrSr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrb"><span class="id" title="definition">mulrb</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrb"><span class="id" title="lemma">mulrb</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mul0rn"><span class="id" title="definition">mul0rn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul0rn"><span class="id" title="lemma">mul0rn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulNrn"><span class="id" title="definition">mulNrn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulNrn"><span class="id" title="lemma">mulNrn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnDl"><span class="id" title="definition">mulrnDl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnDl"><span class="id" title="lemma">mulrnDl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnDr"><span class="id" title="definition">mulrnDr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnDr"><span class="id" title="lemma">mulrnDr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnBl"><span class="id" title="definition">mulrnBl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnBl"><span class="id" title="lemma">mulrnBl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnBr"><span class="id" title="definition">mulrnBr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnBr"><span class="id" title="lemma">mulrnBr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnA"><span class="id" title="definition">mulrnA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnA"><span class="id" title="lemma">mulrnA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnAC"><span class="id" title="definition">mulrnAC</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnAC"><span class="id" title="lemma">mulrnAC</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrA"><span class="id" title="definition">mulrA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrA"><span class="id" title="lemma">mulrA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mul1r"><span class="id" title="definition">mul1r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul1r"><span class="id" title="lemma">mul1r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr1"><span class="id" title="definition">mulr1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr1"><span class="id" title="lemma">mulr1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrDl"><span class="id" title="definition">mulrDl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrDl"><span class="id" title="lemma">mulrDl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrDr"><span class="id" title="definition">mulrDr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrDr"><span class="id" title="lemma">mulrDr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.oner_neq0"><span class="id" title="definition">oner_neq0</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">Definition</span> <a name="GRing.Theory.oner_eq0"><span class="id" title="definition">oner_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oner_eq0"><span class="id" title="lemma">oner_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mul0r"><span class="id" title="definition">mul0r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mul0r"><span class="id" title="lemma">mul0r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr0"><span class="id" title="definition">mulr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr0"><span class="id" title="lemma">mulr0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrN"><span class="id" title="definition">mulrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrN"><span class="id" title="lemma">mulrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulNr"><span class="id" title="definition">mulNr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulNr"><span class="id" title="lemma">mulNr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrNN"><span class="id" title="definition">mulrNN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrNN"><span class="id" title="lemma">mulrNN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulN1r"><span class="id" title="definition">mulN1r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulN1r"><span class="id" title="lemma">mulN1r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrN1"><span class="id" title="definition">mulrN1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrN1"><span class="id" title="lemma">mulrN1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_suml"><span class="id" title="definition">mulr_suml</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_suml"><span class="id" title="lemma">mulr_suml</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_sumr"><span class="id" title="definition">mulr_sumr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_sumr"><span class="id" title="lemma">mulr_sumr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrBl"><span class="id" title="definition">mulrBl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrBl"><span class="id" title="lemma">mulrBl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrBr"><span class="id" title="definition">mulrBr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrBr"><span class="id" title="lemma">mulrBr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnAl"><span class="id" title="definition">mulrnAl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnAl"><span class="id" title="lemma">mulrnAl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrnAr"><span class="id" title="definition">mulrnAr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrnAr"><span class="id" title="lemma">mulrnAr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_natl"><span class="id" title="definition">mulr_natl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_natl"><span class="id" title="lemma">mulr_natl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_natr"><span class="id" title="definition">mulr_natr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_natr"><span class="id" title="lemma">mulr_natr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natrD"><span class="id" title="definition">natrD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natrD"><span class="id" title="lemma">natrD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natrB"><span class="id" title="definition">natrB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natrB"><span class="id" title="lemma">natrB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natr_sum"><span class="id" title="definition">natr_sum</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natr_sum"><span class="id" title="definition">natr_sum</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natrM"><span class="id" title="definition">natrM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natrM"><span class="id" title="lemma">natrM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natrX"><span class="id" title="definition">natrX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natrX"><span class="id" title="lemma">natrX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr0"><span class="id" title="definition">expr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr0"><span class="id" title="lemma">expr0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprS"><span class="id" title="definition">exprS</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprS"><span class="id" title="lemma">exprS</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr1"><span class="id" title="definition">expr1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr1"><span class="id" title="lemma">expr1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr2"><span class="id" title="definition">expr2</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr2"><span class="id" title="lemma">expr2</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr0n"><span class="id" title="definition">expr0n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr0n"><span class="id" title="lemma">expr0n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr1n"><span class="id" title="definition">expr1n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr1n"><span class="id" title="lemma">expr1n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprD"><span class="id" title="definition">exprD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprD"><span class="id" title="lemma">exprD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprSr"><span class="id" title="definition">exprSr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprSr"><span class="id" title="lemma">exprSr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commr_sym"><span class="id" title="definition">commr_sym</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commr_sym"><span class="id" title="lemma">commr_sym</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commr_refl"><span class="id" title="definition">commr_refl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commr_refl"><span class="id" title="lemma">commr_refl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commr0"><span class="id" title="definition">commr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commr0"><span class="id" title="lemma">commr0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commr1"><span class="id" title="definition">commr1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commr1"><span class="id" title="lemma">commr1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrN"><span class="id" title="definition">commrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrN"><span class="id" title="lemma">commrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrN1"><span class="id" title="definition">commrN1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrN1"><span class="id" title="lemma">commrN1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrD"><span class="id" title="definition">commrD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrD"><span class="id" title="lemma">commrD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrMn"><span class="id" title="definition">commrMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrMn"><span class="id" title="lemma">commrMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrM"><span class="id" title="definition">commrM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrM"><span class="id" title="lemma">commrM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commr_nat"><span class="id" title="definition">commr_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commr_nat"><span class="id" title="lemma">commr_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commrX"><span class="id" title="definition">commrX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commrX"><span class="id" title="lemma">commrX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprMn_comm"><span class="id" title="definition">exprMn_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprMn_comm"><span class="id" title="lemma">exprMn_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.commr_sign"><span class="id" title="definition">commr_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.commr_sign"><span class="id" title="lemma">commr_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprMn_n"><span class="id" title="definition">exprMn_n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprMn_n"><span class="id" title="lemma">exprMn_n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprM"><span class="id" title="definition">exprM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprM"><span class="id" title="lemma">exprM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprAC"><span class="id" title="definition">exprAC</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprAC"><span class="id" title="lemma">exprAC</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr_mod"><span class="id" title="definition">expr_mod</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr_mod"><span class="id" title="lemma">expr_mod</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expr_dvd"><span class="id" title="definition">expr_dvd</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr_dvd"><span class="id" title="lemma">expr_dvd</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signr_odd"><span class="id" title="definition">signr_odd</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signr_odd"><span class="id" title="lemma">signr_odd</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signr_eq0"><span class="id" title="definition">signr_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signr_eq0"><span class="id" title="lemma">signr_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_sign"><span class="id" title="definition">mulr_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_sign"><span class="id" title="lemma">mulr_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signr_addb"><span class="id" title="definition">signr_addb</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signr_addb"><span class="id" title="lemma">signr_addb</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signrN"><span class="id" title="definition">signrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signrN"><span class="id" title="lemma">signrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signrE"><span class="id" title="definition">signrE</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signrE"><span class="id" title="lemma">signrE</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_signM"><span class="id" title="definition">mulr_signM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_signM"><span class="id" title="lemma">mulr_signM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprNn"><span class="id" title="definition">exprNn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprNn"><span class="id" title="lemma">exprNn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrrN"><span class="id" title="definition">sqrrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrrN"><span class="id" title="lemma">sqrrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrr_sign"><span class="id" title="definition">sqrr_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrr_sign"><span class="id" title="lemma">sqrr_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signrMK"><span class="id" title="definition">signrMK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signrMK"><span class="id" title="lemma">signrMK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrI_eq0"><span class="id" title="definition">mulrI_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrI_eq0"><span class="id" title="lemma">mulrI_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lreg_neq0"><span class="id" title="definition">lreg_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg_neq0"><span class="id" title="lemma">lreg_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrI0_lreg"><span class="id" title="definition">mulrI0_lreg</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrI0_lreg"><span class="id" title="lemma">mulrI0_lreg</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lregN"><span class="id" title="definition">lregN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lregN"><span class="id" title="lemma">lregN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lreg1"><span class="id" title="definition">lreg1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg1"><span class="id" title="lemma">lreg1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lregM"><span class="id" title="definition">lregM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lregM"><span class="id" title="lemma">lregM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lregX"><span class="id" title="definition">lregX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lregX"><span class="id" title="lemma">lregX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lreg_sign"><span class="id" title="definition">lreg_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lreg_sign"><span class="id" title="lemma">lreg_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lregP"><span class="id" title="definition">lregP</span></a> {<span class="id" title="var">R</span> <span class="id" title="var">x</span>} := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lregP"><span class="id" title="lemma">lregP</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.Theory.mulIr_eq0"><span class="id" title="definition">mulIr_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulIr_eq0"><span class="id" title="lemma">mulIr_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulIr0_rreg"><span class="id" title="definition">mulIr0_rreg</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulIr0_rreg"><span class="id" title="lemma">mulIr0_rreg</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rreg_neq0"><span class="id" title="definition">rreg_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg_neq0"><span class="id" title="lemma">rreg_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rregN"><span class="id" title="definition">rregN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rregN"><span class="id" title="lemma">rregN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rreg1"><span class="id" title="definition">rreg1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rreg1"><span class="id" title="lemma">rreg1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rregM"><span class="id" title="definition">rregM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rregM"><span class="id" title="lemma">rregM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.revrX"><span class="id" title="definition">revrX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.revrX"><span class="id" title="lemma">revrX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rregX"><span class="id" title="definition">rregX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rregX"><span class="id" title="lemma">rregX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rregP"><span class="id" title="definition">rregP</span></a> {<span class="id" title="var">R</span> <span class="id" title="var">x</span>} := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rregP"><span class="id" title="lemma">rregP</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.Theory.exprDn_comm"><span class="id" title="definition">exprDn_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprDn_comm"><span class="id" title="lemma">exprDn_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprBn_comm"><span class="id" title="definition">exprBn_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprBn_comm"><span class="id" title="lemma">exprBn_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subrXX_comm"><span class="id" title="definition">subrXX_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrXX_comm"><span class="id" title="lemma">subrXX_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprD1n"><span class="id" title="definition">exprD1n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprD1n"><span class="id" title="lemma">exprD1n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subrX1"><span class="id" title="definition">subrX1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrX1"><span class="id" title="lemma">subrX1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrrD1"><span class="id" title="definition">sqrrD1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrrD1"><span class="id" title="lemma">sqrrD1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrrB1"><span class="id" title="definition">sqrrB1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrrB1"><span class="id" title="lemma">sqrrB1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr_sqr_1"><span class="id" title="definition">subr_sqr_1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_sqr_1"><span class="id" title="lemma">subr_sqr_1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.charf0"><span class="id" title="definition">charf0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.charf0"><span class="id" title="lemma">charf0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.charf_prime"><span class="id" title="definition">charf_prime</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.charf_prime"><span class="id" title="lemma">charf_prime</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrn_char"><span class="id" title="definition">mulrn_char</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrn_char"><span class="id" title="lemma">mulrn_char</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.dvdn_charf"><span class="id" title="definition">dvdn_charf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.dvdn_charf"><span class="id" title="lemma">dvdn_charf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.charf_eq"><span class="id" title="definition">charf_eq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.charf_eq"><span class="id" title="lemma">charf_eq</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.bin_lt_charf_0"><span class="id" title="definition">bin_lt_charf_0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.bin_lt_charf_0"><span class="id" title="lemma">bin_lt_charf_0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autE"><span class="id" title="definition">Frobenius_autE</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autE"><span class="id" title="lemma">Frobenius_autE</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_aut0"><span class="id" title="definition">Frobenius_aut0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_aut0"><span class="id" title="lemma">Frobenius_aut0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_aut1"><span class="id" title="definition">Frobenius_aut1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_aut1"><span class="id" title="lemma">Frobenius_aut1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autD_comm"><span class="id" title="definition">Frobenius_autD_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autD_comm"><span class="id" title="lemma">Frobenius_autD_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autMn"><span class="id" title="definition">Frobenius_autMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autMn"><span class="id" title="lemma">Frobenius_autMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_aut_nat"><span class="id" title="definition">Frobenius_aut_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_aut_nat"><span class="id" title="lemma">Frobenius_aut_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autM_comm"><span class="id" title="definition">Frobenius_autM_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autM_comm"><span class="id" title="lemma">Frobenius_autM_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autX"><span class="id" title="definition">Frobenius_autX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autX"><span class="id" title="lemma">Frobenius_autX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autN"><span class="id" title="definition">Frobenius_autN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autN"><span class="id" title="lemma">Frobenius_autN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.Frobenius_autB_comm"><span class="id" title="definition">Frobenius_autB_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Frobenius_autB_comm"><span class="id" title="lemma">Frobenius_autB_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprNn_char"><span class="id" title="definition">exprNn_char</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprNn_char"><span class="id" title="lemma">exprNn_char</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrr_char2"><span class="id" title="definition">addrr_char2</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrr_char2"><span class="id" title="lemma">addrr_char2</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.oppr_char2"><span class="id" title="definition">oppr_char2</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.oppr_char2"><span class="id" title="lemma">oppr_char2</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addrK_char2"><span class="id" title="definition">addrK_char2</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addrK_char2"><span class="id" title="lemma">addrK_char2</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addKr_char2"><span class="id" title="definition">addKr_char2</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addKr_char2"><span class="id" title="lemma">addKr_char2</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodr_const"><span class="id" title="definition">prodr_const</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodr_const"><span class="id" title="lemma">prodr_const</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrC"><span class="id" title="definition">mulrC</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">Definition</span> <a name="GRing.Theory.mulrCA"><span class="id" title="definition">mulrCA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrCA"><span class="id" title="lemma">mulrCA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrAC"><span class="id" title="definition">mulrAC</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrAC"><span class="id" title="lemma">mulrAC</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrACA"><span class="id" title="definition">mulrACA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrACA"><span class="id" title="lemma">mulrACA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprMn"><span class="id" title="definition">exprMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprMn"><span class="id" title="lemma">exprMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodrXl"><span class="id" title="definition">prodrXl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodrXl"><span class="id" title="lemma">prodrXl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodrXr"><span class="id" title="definition">prodrXr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodrXr"><span class="id" title="lemma">prodrXr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodrN"><span class="id" title="definition">prodrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodrN"><span class="id" title="lemma">prodrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodrMn"><span class="id" title="definition">prodrMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodrMn"><span class="id" title="lemma">prodrMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natr_prod"><span class="id" title="definition">natr_prod</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natr_prod"><span class="id" title="lemma">natr_prod</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodr_undup_exp_count"><span class="id" title="definition">prodr_undup_exp_count</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodr_undup_exp_count"><span class="id" title="lemma">prodr_undup_exp_count</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprDn"><span class="id" title="definition">exprDn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprDn"><span class="id" title="lemma">exprDn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprBn"><span class="id" title="definition">exprBn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprBn"><span class="id" title="lemma">exprBn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subrXX"><span class="id" title="definition">subrXX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subrXX"><span class="id" title="lemma">subrXX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrrD"><span class="id" title="definition">sqrrD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrrD"><span class="id" title="lemma">sqrrD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrrB"><span class="id" title="definition">sqrrB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrrB"><span class="id" title="lemma">sqrrB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr_sqr"><span class="id" title="definition">subr_sqr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_sqr"><span class="id" title="lemma">subr_sqr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.subr_sqrDB"><span class="id" title="definition">subr_sqrDB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.subr_sqrDB"><span class="id" title="lemma">subr_sqrDB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprDn_char"><span class="id" title="definition">exprDn_char</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprDn_char"><span class="id" title="lemma">exprDn_char</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrV"><span class="id" title="definition">mulrV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrV"><span class="id" title="definition">mulrV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divrr"><span class="id" title="definition">divrr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrr"><span class="id" title="lemma">divrr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulVr"><span class="id" title="definition">mulVr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulVr"><span class="id" title="lemma">mulVr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_out"><span class="id" title="definition">invr_out</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">Definition</span> <a name="GRing.Theory.unitrP"><span class="id" title="definition">unitrP</span></a> {<span class="id" title="var">R</span> <span class="id" title="var">x</span>} := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrP"><span class="id" title="lemma">unitrP</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.Theory.mulKr"><span class="id" title="definition">mulKr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulKr"><span class="id" title="lemma">mulKr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulVKr"><span class="id" title="definition">mulVKr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulVKr"><span class="id" title="lemma">mulVKr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrK"><span class="id" title="definition">mulrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrK"><span class="id" title="lemma">mulrK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrVK"><span class="id" title="definition">mulrVK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrVK"><span class="id" title="lemma">mulrVK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divrK"><span class="id" title="definition">divrK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrK"><span class="id" title="definition">divrK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulrI"><span class="id" title="definition">mulrI</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulrI"><span class="id" title="lemma">mulrI</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulIr"><span class="id" title="definition">mulIr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulIr"><span class="id" title="lemma">mulIr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divrI"><span class="id" title="definition">divrI</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divrI"><span class="id" title="lemma">divrI</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divIr"><span class="id" title="definition">divIr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divIr"><span class="id" title="lemma">divIr</span></a>.<br/>
-<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.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/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr1"><span class="id" title="definition">invr1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr1"><span class="id" title="lemma">invr1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divr1"><span class="id" title="definition">divr1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr1"><span class="id" title="lemma">divr1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.div1r"><span class="id" title="definition">div1r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.div1r"><span class="id" title="lemma">div1r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natr_div"><span class="id" title="definition">natr_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natr_div"><span class="id" title="lemma">natr_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitr0"><span class="id" title="definition">unitr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitr0"><span class="id" title="lemma">unitr0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr0"><span class="id" title="definition">invr0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr0"><span class="id" title="lemma">invr0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrN1"><span class="id" title="definition">unitrN1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrN1"><span class="id" title="lemma">unitrN1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrN"><span class="id" title="definition">unitrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrN"><span class="id" title="lemma">unitrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invrN1"><span class="id" title="definition">invrN1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invrN1"><span class="id" title="lemma">invrN1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invrN"><span class="id" title="definition">invrN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invrN"><span class="id" title="lemma">invrN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_sign"><span class="id" title="definition">invr_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_sign"><span class="id" title="lemma">invr_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrMl"><span class="id" title="definition">unitrMl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrMl"><span class="id" title="lemma">unitrMl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrMr"><span class="id" title="definition">unitrMr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrMr"><span class="id" title="lemma">unitrMr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invrM"><span class="id" title="definition">invrM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invrM"><span class="id" title="lemma">invrM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_eq0"><span class="id" title="definition">invr_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_eq0"><span class="id" title="lemma">invr_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_eq1"><span class="id" title="definition">invr_eq1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_eq1"><span class="id" title="lemma">invr_eq1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_neq0"><span class="id" title="definition">invr_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_neq0"><span class="id" title="lemma">invr_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrM_comm"><span class="id" title="definition">unitrM_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrM_comm"><span class="id" title="lemma">unitrM_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrX"><span class="id" title="definition">unitrX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrX"><span class="id" title="lemma">unitrX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrX_pos"><span class="id" title="definition">unitrX_pos</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrX_pos"><span class="id" title="lemma">unitrX_pos</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprVn"><span class="id" title="definition">exprVn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprVn"><span class="id" title="lemma">exprVn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprB"><span class="id" title="definition">exprB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprB"><span class="id" title="lemma">exprB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invr_signM"><span class="id" title="definition">invr_signM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invr_signM"><span class="id" title="lemma">invr_signM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divr_signM"><span class="id" title="definition">divr_signM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr_signM"><span class="id" title="lemma">divr_signM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred0D"><span class="id" title="definition">rpred0D</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred0D"><span class="id" title="lemma">rpred0D</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred0"><span class="id" title="definition">rpred0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred0"><span class="id" title="lemma">rpred0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredD"><span class="id" title="definition">rpredD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredD"><span class="id" title="lemma">rpredD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredNr"><span class="id" title="definition">rpredNr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredNr"><span class="id" title="lemma">rpredNr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_sum"><span class="id" title="definition">rpred_sum</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_sum"><span class="id" title="lemma">rpred_sum</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredMn"><span class="id" title="definition">rpredMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredMn"><span class="id" title="lemma">rpredMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredN"><span class="id" title="definition">rpredN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredN"><span class="id" title="lemma">rpredN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredB"><span class="id" title="definition">rpredB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredB"><span class="id" title="lemma">rpredB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredMNn"><span class="id" title="definition">rpredMNn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredMNn"><span class="id" title="lemma">rpredMNn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredDr"><span class="id" title="definition">rpredDr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredDr"><span class="id" title="lemma">rpredDr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredDl"><span class="id" title="definition">rpredDl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredDl"><span class="id" title="lemma">rpredDl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredBr"><span class="id" title="definition">rpredBr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredBr"><span class="id" title="lemma">rpredBr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredBl"><span class="id" title="definition">rpredBl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredBl"><span class="id" title="lemma">rpredBl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredMsign"><span class="id" title="definition">rpredMsign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredMsign"><span class="id" title="lemma">rpredMsign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred1M"><span class="id" title="definition">rpred1M</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred1M"><span class="id" title="lemma">rpred1M</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred1"><span class="id" title="definition">rpred1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred1"><span class="id" title="lemma">rpred1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredM"><span class="id" title="definition">rpredM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredM"><span class="id" title="lemma">rpredM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_prod"><span class="id" title="definition">rpred_prod</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_prod"><span class="id" title="lemma">rpred_prod</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredX"><span class="id" title="definition">rpredX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredX"><span class="id" title="lemma">rpredX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_nat"><span class="id" title="definition">rpred_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_nat"><span class="id" title="lemma">rpred_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredN1"><span class="id" title="definition">rpredN1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredN1"><span class="id" title="lemma">rpredN1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_sign"><span class="id" title="definition">rpred_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_sign"><span class="id" title="lemma">rpred_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredZsign"><span class="id" title="definition">rpredZsign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredZsign"><span class="id" title="lemma">rpredZsign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredZnat"><span class="id" title="definition">rpredZnat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredZnat"><span class="id" title="lemma">rpredZnat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredZ"><span class="id" title="definition">rpredZ</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredZ"><span class="id" title="lemma">rpredZ</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredVr"><span class="id" title="definition">rpredVr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredVr"><span class="id" title="lemma">rpredVr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredV"><span class="id" title="definition">rpredV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredV"><span class="id" title="lemma">rpredV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_div"><span class="id" title="definition">rpred_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_div"><span class="id" title="lemma">rpred_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredXN"><span class="id" title="definition">rpredXN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredXN"><span class="id" title="lemma">rpredXN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredZeq"><span class="id" title="definition">rpredZeq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredZeq"><span class="id" title="lemma">rpredZeq</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.char_lalg"><span class="id" title="definition">char_lalg</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.char_lalg"><span class="id" title="lemma">char_lalg</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredMr"><span class="id" title="definition">rpredMr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredMr"><span class="id" title="lemma">rpredMr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpredMl"><span class="id" title="definition">rpredMl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpredMl"><span class="id" title="lemma">rpredMl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_divr"><span class="id" title="definition">rpred_divr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_divr"><span class="id" title="lemma">rpred_divr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rpred_divl"><span class="id" title="definition">rpred_divl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rpred_divl"><span class="id" title="lemma">rpred_divl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eq_eval"><span class="id" title="definition">eq_eval</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq_eval"><span class="id" title="lemma">eq_eval</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eval_tsubst"><span class="id" title="definition">eval_tsubst</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval_tsubst"><span class="id" title="lemma">eval_tsubst</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eq_holds"><span class="id" title="definition">eq_holds</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq_holds"><span class="id" title="lemma">eq_holds</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.holds_fsubst"><span class="id" title="definition">holds_fsubst</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds_fsubst"><span class="id" title="lemma">holds_fsubst</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrM"><span class="id" title="definition">unitrM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrM"><span class="id" title="lemma">unitrM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitrPr"><span class="id" title="definition">unitrPr</span></a> {<span class="id" title="var">R</span> <span class="id" title="var">x</span>} := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitrPr"><span class="id" title="lemma">unitrPr</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.Theory.expr_div_n"><span class="id" title="definition">expr_div_n</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expr_div_n"><span class="id" title="lemma">expr_div_n</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr1_eq"><span class="id" title="definition">mulr1_eq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr1_eq"><span class="id" title="lemma">mulr1_eq</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divr1_eq"><span class="id" title="definition">divr1_eq</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divr1_eq"><span class="id" title="lemma">divr1_eq</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divKr"><span class="id" title="definition">divKr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divKr"><span class="id" title="lemma">divKr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulf_eq0"><span class="id" title="definition">mulf_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulf_eq0"><span class="id" title="lemma">mulf_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodf_eq0"><span class="id" title="definition">prodf_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodf_eq0"><span class="id" title="lemma">prodf_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodf_seq_eq0"><span class="id" title="definition">prodf_seq_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodf_seq_eq0"><span class="id" title="lemma">prodf_seq_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulf_neq0"><span class="id" title="definition">mulf_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulf_neq0"><span class="id" title="lemma">mulf_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodf_neq0"><span class="id" title="definition">prodf_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodf_neq0"><span class="id" title="lemma">prodf_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodf_seq_neq0"><span class="id" title="definition">prodf_seq_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodf_seq_neq0"><span class="id" title="lemma">prodf_seq_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expf_eq0"><span class="id" title="definition">expf_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expf_eq0"><span class="id" title="lemma">expf_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrf_eq0"><span class="id" title="definition">sqrf_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrf_eq0"><span class="id" title="lemma">sqrf_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expf_neq0"><span class="id" title="definition">expf_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expf_neq0"><span class="id" title="lemma">expf_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natf_neq0"><span class="id" title="definition">natf_neq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natf_neq0"><span class="id" title="lemma">natf_neq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.natf0_char"><span class="id" title="definition">natf0_char</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.natf0_char"><span class="id" title="lemma">natf0_char</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.charf'_nat"><span class="id" title="definition">charf'_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.charf'_nat"><span class="id" title="lemma">charf'_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.charf0P"><span class="id" title="definition">charf0P</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.charf0P"><span class="id" title="lemma">charf0P</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eqf_sqr"><span class="id" title="definition">eqf_sqr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eqf_sqr"><span class="id" title="lemma">eqf_sqr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulfI"><span class="id" title="definition">mulfI</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulfI"><span class="id" title="lemma">mulfI</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulIf"><span class="id" title="definition">mulIf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulIf"><span class="id" title="lemma">mulIf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divfI"><span class="id" title="definition">divfI</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divfI"><span class="id" title="lemma">divfI</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divIf"><span class="id" title="definition">divIf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divIf"><span class="id" title="lemma">divIf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.sqrf_eq1"><span class="id" title="definition">sqrf_eq1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sqrf_eq1"><span class="id" title="lemma">sqrf_eq1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expfS_eq1"><span class="id" title="definition">expfS_eq1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expfS_eq1"><span class="id" title="lemma">expfS_eq1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fieldP"><span class="id" title="definition">fieldP</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fieldP"><span class="id" title="lemma">fieldP</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.unitfE"><span class="id" title="definition">unitfE</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unitfE"><span class="id" title="lemma">unitfE</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulVf"><span class="id" title="definition">mulVf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulVf"><span class="id" title="lemma">mulVf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulfV"><span class="id" title="definition">mulfV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulfV"><span class="id" title="definition">mulfV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divff"><span class="id" title="definition">divff</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">Definition</span> <a name="GRing.Theory.mulKf"><span class="id" title="definition">mulKf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulKf"><span class="id" title="lemma">mulKf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulVKf"><span class="id" title="definition">mulVKf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulVKf"><span class="id" title="lemma">mulVKf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulfK"><span class="id" title="definition">mulfK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulfK"><span class="id" title="lemma">mulfK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulfVK"><span class="id" title="definition">mulfVK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulfVK"><span class="id" title="lemma">mulfVK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divfK"><span class="id" title="definition">divfK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divfK"><span class="id" title="definition">divfK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.divKf"><span class="id" title="definition">divKf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.divKf"><span class="id" title="lemma">divKf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invfM"><span class="id" title="definition">invfM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invfM"><span class="id" title="lemma">invfM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invf_div"><span class="id" title="definition">invf_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invf_div"><span class="id" title="lemma">invf_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expfB_cond"><span class="id" title="definition">expfB_cond</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expfB_cond"><span class="id" title="lemma">expfB_cond</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.expfB"><span class="id" title="definition">expfB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.expfB"><span class="id" title="lemma">expfB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodfV"><span class="id" title="definition">prodfV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodfV"><span class="id" title="lemma">prodfV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.prodf_div"><span class="id" title="definition">prodf_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.prodf_div"><span class="id" title="lemma">prodf_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.telescope_prodf"><span class="id" title="definition">telescope_prodf</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.telescope_prodf"><span class="id" title="lemma">telescope_prodf</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.addf_div"><span class="id" title="definition">addf_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.addf_div"><span class="id" title="lemma">addf_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulf_div"><span class="id" title="definition">mulf_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulf_div"><span class="id" title="lemma">mulf_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.char0_natf_div"><span class="id" title="definition">char0_natf_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.char0_natf_div"><span class="id" title="lemma">char0_natf_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fpredMr"><span class="id" title="definition">fpredMr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fpredMr"><span class="id" title="lemma">fpredMr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fpredMl"><span class="id" title="definition">fpredMl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fpredMl"><span class="id" title="lemma">fpredMl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fpred_divr"><span class="id" title="definition">fpred_divr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fpred_divr"><span class="id" title="lemma">fpred_divr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fpred_divl"><span class="id" title="definition">fpred_divl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fpred_divl"><span class="id" title="lemma">fpred_divl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.satP"><span class="id" title="definition">satP</span></a> {<span class="id" title="var">F</span> <span class="id" title="var">e</span> <span class="id" title="var">f</span>} := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.satP"><span class="id" title="lemma">satP</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#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.Theory.eq_sat"><span class="id" title="definition">eq_sat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq_sat"><span class="id" title="lemma">eq_sat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.solP"><span class="id" title="definition">solP</span></a> {<span class="id" title="var">F</span> <span class="id" title="var">n</span> <span class="id" title="var">f</span>} := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.solP"><span class="id" title="lemma">solP</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#f"><span class="id" title="variable">f</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.eq_sol"><span class="id" title="definition">eq_sol</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eq_sol"><span class="id" title="lemma">eq_sol</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.size_sol"><span class="id" title="definition">size_sol</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.size_sol"><span class="id" title="lemma">size_sol</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.solve_monicpoly"><span class="id" title="definition">solve_monicpoly</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.solve_monicpoly"><span class="id" title="lemma">solve_monicpoly</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddf0"><span class="id" title="definition">raddf0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddf0"><span class="id" title="lemma">raddf0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddf_eq0"><span class="id" title="definition">raddf_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddf_eq0"><span class="id" title="lemma">raddf_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfN"><span class="id" title="definition">raddfN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfN"><span class="id" title="lemma">raddfN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfD"><span class="id" title="definition">raddfD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfD"><span class="id" title="lemma">raddfD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfB"><span class="id" title="definition">raddfB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfB"><span class="id" title="lemma">raddfB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddf_sum"><span class="id" title="definition">raddf_sum</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddf_sum"><span class="id" title="lemma">raddf_sum</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfMn"><span class="id" title="definition">raddfMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfMn"><span class="id" title="lemma">raddfMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfMNn"><span class="id" title="definition">raddfMNn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfMNn"><span class="id" title="lemma">raddfMNn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfMnat"><span class="id" title="definition">raddfMnat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfMnat"><span class="id" title="lemma">raddfMnat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfMsign"><span class="id" title="definition">raddfMsign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfMsign"><span class="id" title="lemma">raddfMsign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.can2_additive"><span class="id" title="definition">can2_additive</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.can2_additive"><span class="id" title="lemma">can2_additive</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.bij_additive"><span class="id" title="definition">bij_additive</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.bij_additive"><span class="id" title="lemma">bij_additive</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph0"><span class="id" title="definition">rmorph0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph0"><span class="id" title="lemma">rmorph0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphN"><span class="id" title="definition">rmorphN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphN"><span class="id" title="lemma">rmorphN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphD"><span class="id" title="definition">rmorphD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphD"><span class="id" title="lemma">rmorphD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphB"><span class="id" title="definition">rmorphB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphB"><span class="id" title="lemma">rmorphB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_sum"><span class="id" title="definition">rmorph_sum</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_sum"><span class="id" title="lemma">rmorph_sum</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphMn"><span class="id" title="definition">rmorphMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphMn"><span class="id" title="lemma">rmorphMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphMNn"><span class="id" title="definition">rmorphMNn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphMNn"><span class="id" title="lemma">rmorphMNn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphismP"><span class="id" title="definition">rmorphismP</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphismP"><span class="id" title="lemma">rmorphismP</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphismMP"><span class="id" title="definition">rmorphismMP</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphismMP"><span class="id" title="lemma">rmorphismMP</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph1"><span class="id" title="definition">rmorph1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph1"><span class="id" title="lemma">rmorph1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_eq1"><span class="id" title="definition">rmorph_eq1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_eq1"><span class="id" title="lemma">rmorph_eq1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphM"><span class="id" title="definition">rmorphM</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphM"><span class="id" title="lemma">rmorphM</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphMsign"><span class="id" title="definition">rmorphMsign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphMsign"><span class="id" title="lemma">rmorphMsign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_nat"><span class="id" title="definition">rmorph_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_nat"><span class="id" title="lemma">rmorph_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_eq_nat"><span class="id" title="definition">rmorph_eq_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_eq_nat"><span class="id" title="lemma">rmorph_eq_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_prod"><span class="id" title="definition">rmorph_prod</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_prod"><span class="id" title="lemma">rmorph_prod</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphX"><span class="id" title="definition">rmorphX</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphX"><span class="id" title="lemma">rmorphX</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphN1"><span class="id" title="definition">rmorphN1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphN1"><span class="id" title="lemma">rmorphN1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_sign"><span class="id" title="definition">rmorph_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_sign"><span class="id" title="lemma">rmorph_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_char"><span class="id" title="definition">rmorph_char</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_char"><span class="id" title="lemma">rmorph_char</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.can2_rmorphism"><span class="id" title="definition">can2_rmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.can2_rmorphism"><span class="id" title="lemma">can2_rmorphism</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.bij_rmorphism"><span class="id" title="definition">bij_rmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.bij_rmorphism"><span class="id" title="lemma">bij_rmorphism</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_comm"><span class="id" title="definition">rmorph_comm</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_comm"><span class="id" title="lemma">rmorph_comm</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_unit"><span class="id" title="definition">rmorph_unit</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_unit"><span class="id" title="lemma">rmorph_unit</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorphV"><span class="id" title="definition">rmorphV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorphV"><span class="id" title="lemma">rmorphV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_div"><span class="id" title="definition">rmorph_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_div"><span class="id" title="lemma">rmorph_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorph_eq0"><span class="id" title="definition">fmorph_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorph_eq0"><span class="id" title="lemma">fmorph_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorph_inj"><span class="id" title="definition">fmorph_inj</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorph_inj"><span class="id" title="lemma">fmorph_inj</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorph_eq1"><span class="id" title="definition">fmorph_eq1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorph_eq1"><span class="id" title="lemma">fmorph_eq1</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorph_char"><span class="id" title="definition">fmorph_char</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorph_char"><span class="id" title="lemma">fmorph_char</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorph_unit"><span class="id" title="definition">fmorph_unit</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorph_unit"><span class="id" title="lemma">fmorph_unit</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorphV"><span class="id" title="definition">fmorphV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorphV"><span class="id" title="lemma">fmorphV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.fmorph_div"><span class="id" title="definition">fmorph_div</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.fmorph_div"><span class="id" title="lemma">fmorph_div</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerA"><span class="id" title="definition">scalerA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerA"><span class="id" title="lemma">scalerA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scale1r"><span class="id" title="definition">scale1r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scale1r"><span class="id" title="lemma">scale1r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerDr"><span class="id" title="definition">scalerDr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerDr"><span class="id" title="lemma">scalerDr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerDl"><span class="id" title="definition">scalerDl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerDl"><span class="id" title="lemma">scalerDl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler0"><span class="id" title="definition">scaler0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler0"><span class="id" title="lemma">scaler0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scale0r"><span class="id" title="definition">scale0r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scale0r"><span class="id" title="lemma">scale0r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaleNr"><span class="id" title="definition">scaleNr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaleNr"><span class="id" title="lemma">scaleNr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaleN1r"><span class="id" title="definition">scaleN1r</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaleN1r"><span class="id" title="lemma">scaleN1r</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerN"><span class="id" title="definition">scalerN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerN"><span class="id" title="lemma">scalerN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerBl"><span class="id" title="definition">scalerBl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerBl"><span class="id" title="lemma">scalerBl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerBr"><span class="id" title="definition">scalerBr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerBr"><span class="id" title="lemma">scalerBr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_nat"><span class="id" title="definition">scaler_nat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_nat"><span class="id" title="lemma">scaler_nat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerMnl"><span class="id" title="definition">scalerMnl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerMnl"><span class="id" title="lemma">scalerMnl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerMnr"><span class="id" title="definition">scalerMnr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerMnr"><span class="id" title="lemma">scalerMnr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_suml"><span class="id" title="definition">scaler_suml</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_suml"><span class="id" title="lemma">scaler_suml</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_sumr"><span class="id" title="definition">scaler_sumr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_sumr"><span class="id" title="lemma">scaler_sumr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_eq0"><span class="id" title="definition">scaler_eq0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_eq0"><span class="id" title="lemma">scaler_eq0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerK"><span class="id" title="definition">scalerK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerK"><span class="id" title="lemma">scalerK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerKV"><span class="id" title="definition">scalerKV</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerKV"><span class="id" title="lemma">scalerKV</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerI"><span class="id" title="definition">scalerI</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerI"><span class="id" title="lemma">scalerI</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerAl"><span class="id" title="definition">scalerAl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerAl"><span class="id" title="lemma">scalerAl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_algl"><span class="id" title="definition">mulr_algl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_algl"><span class="id" title="lemma">mulr_algl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_sign"><span class="id" title="definition">scaler_sign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_sign"><span class="id" title="lemma">scaler_sign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.signrZK"><span class="id" title="definition">signrZK</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.signrZK"><span class="id" title="lemma">signrZK</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerCA"><span class="id" title="definition">scalerCA</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerCA"><span class="id" title="lemma">scalerCA</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalerAr"><span class="id" title="definition">scalerAr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalerAr"><span class="id" title="lemma">scalerAr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.mulr_algr"><span class="id" title="definition">mulr_algr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.mulr_algr"><span class="id" title="lemma">mulr_algr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.exprZn"><span class="id" title="definition">exprZn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.exprZn"><span class="id" title="lemma">exprZn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_prodl"><span class="id" title="definition">scaler_prodl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_prodl"><span class="id" title="lemma">scaler_prodl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_prodr"><span class="id" title="definition">scaler_prodr</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_prodr"><span class="id" title="lemma">scaler_prodr</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_prod"><span class="id" title="definition">scaler_prod</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_prod"><span class="id" title="lemma">scaler_prod</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_injl"><span class="id" title="definition">scaler_injl</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_injl"><span class="id" title="lemma">scaler_injl</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scaler_unit"><span class="id" title="definition">scaler_unit</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scaler_unit"><span class="id" title="lemma">scaler_unit</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.invrZ"><span class="id" title="definition">invrZ</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.invrZ"><span class="id" title="lemma">invrZ</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfZnat"><span class="id" title="definition">raddfZnat</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfZnat"><span class="id" title="lemma">raddfZnat</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.raddfZsign"><span class="id" title="definition">raddfZsign</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.raddfZsign"><span class="id" title="lemma">raddfZsign</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.in_algE"><span class="id" title="definition">in_algE</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.in_algE"><span class="id" title="lemma">in_algE</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linear0"><span class="id" title="definition">linear0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear0"><span class="id" title="lemma">linear0</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearN"><span class="id" title="definition">linearN</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearN"><span class="id" title="lemma">linearN</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearD"><span class="id" title="definition">linearD</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearD"><span class="id" title="lemma">linearD</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearB"><span class="id" title="definition">linearB</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearB"><span class="id" title="lemma">linearB</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linear_sum"><span class="id" title="definition">linear_sum</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linear_sum"><span class="id" title="lemma">linear_sum</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearMn"><span class="id" title="definition">linearMn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearMn"><span class="id" title="lemma">linearMn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearMNn"><span class="id" title="definition">linearMNn</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearMNn"><span class="id" title="lemma">linearMNn</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearP"><span class="id" title="definition">linearP</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearP"><span class="id" title="lemma">linearP</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearZ_LR"><span class="id" title="definition">linearZ_LR</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearZ_LR"><span class="id" title="lemma">linearZ_LR</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearZ"><span class="id" title="definition">linearZ</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearZ"><span class="id" title="lemma">linearZ</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearPZ"><span class="id" title="definition">linearPZ</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearPZ"><span class="id" title="lemma">linearPZ</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.linearZZ"><span class="id" title="definition">linearZZ</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.linearZZ"><span class="id" title="lemma">linearZZ</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalarP"><span class="id" title="definition">scalarP</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalarP"><span class="id" title="lemma">scalarP</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.scalarZ"><span class="id" title="definition">scalarZ</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.scalarZ"><span class="id" title="lemma">scalarZ</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.can2_linear"><span class="id" title="definition">can2_linear</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.can2_linear"><span class="id" title="lemma">can2_linear</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.bij_linear"><span class="id" title="definition">bij_linear</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.bij_linear"><span class="id" title="lemma">bij_linear</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.rmorph_alg"><span class="id" title="definition">rmorph_alg</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rmorph_alg"><span class="id" title="lemma">rmorph_alg</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.lrmorphismP"><span class="id" title="definition">lrmorphismP</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.lrmorphismP"><span class="id" title="lemma">lrmorphismP</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.can2_lrmorphism"><span class="id" title="definition">can2_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.can2_lrmorphism"><span class="id" title="lemma">can2_lrmorphism</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.bij_lrmorphism"><span class="id" title="definition">bij_lrmorphism</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.bij_lrmorphism"><span class="id" title="lemma">bij_lrmorphism</span></a>.<br/>
-<span class="id" title="keyword">Definition</span> <a name="GRing.Theory.imaginary_exists"><span class="id" title="definition">imaginary_exists</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.imaginary_exists"><span class="id" title="lemma">imaginary_exists</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.Theory.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"><span class="id" title="abbreviation">null_fun</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.Theory.in_alg"><span class="id" title="abbreviation">in_alg</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> <span class="id" title="var">A</span>).<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory"><span class="id" title="module">Theory</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Notation</span> <a name="GRing.in_alg"><span class="id" title="abbreviation">in_alg</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> <span class="id" title="var">A</span>).<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing"><span class="id" title="module">GRing</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Export</span> <span class="id" title="var">Zmodule.Exports</span> <span class="id" title="var">Ring.Exports</span> <span class="id" title="var">Lmodule.Exports</span> <span class="id" title="var">Lalgebra.Exports</span>.<br/>
-<span class="id" title="keyword">Export</span> <span class="id" title="var">Additive.Exports</span> <span class="id" title="var">RMorphism.Exports</span> <span class="id" title="var">Linear.Exports</span> <span class="id" title="var">LRMorphism.Exports</span>.<br/>
-<span class="id" title="keyword">Export</span> <span class="id" title="var">ComRing.Exports</span> <span class="id" title="var">Algebra.Exports</span> <span class="id" title="var">UnitRing.Exports</span> <span class="id" title="var">UnitAlgebra.Exports</span>.<br/>
-<span class="id" title="keyword">Export</span> <span class="id" title="var">ComUnitRing.Exports</span> <span class="id" title="var">IntegralDomain.Exports</span> <span class="id" title="var">Field.Exports</span>.<br/>
-<span class="id" title="keyword">Export</span> <span class="id" title="var">DecidableField.Exports</span> <span class="id" title="var">ClosedField.Exports</span>.<br/>
-<span class="id" title="keyword">Export</span> <span class="id" title="var">Pred.Exports</span> <span class="id" title="var">SubType.Exports</span>.<br/>
-<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="15289b8981da1be1bf23e337e6afb097"><span class="id" title="notation">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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="1145e02a65b21ec47b0b8e2b91c8e6f6"><span class="id" title="notation">&quot;</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">&quot;</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="6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">&quot;</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">&quot;</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="3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</span></a>\sum_ ( i &lt;- r | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;-</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">&quot;</span></a>\sum_ ( i &lt;- r ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;-</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">&quot;</span></a>\sum_ ( m &lt;= i &lt; n | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\sum_ ( m &lt;= i &lt; n ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\sum_ ( i | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\sum_ i F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\sum_ ( i : t | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\sum_ ( i : t ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\sum_ ( i &lt; n | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\sum_ ( i &lt; n ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\sum_ ( i 'in' A | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\sum_ ( i 'in' A ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\prod_ ( i &lt;- r | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;-</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">&quot;</span></a>\prod_ ( i &lt;- r ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;-</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">&quot;</span></a>\prod_ ( m &lt;= i &lt; n | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\prod_ ( m &lt;= i &lt; n ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\prod_ ( i | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\prod_ i F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\prod_ ( i : t | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\prod_ ( i : t ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\prod_ ( i &lt; n | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\prod_ ( i &lt; n ) F" :=<br/>
-&nbsp;&nbsp;(<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">&lt;</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">&quot;</span></a>\prod_ ( i 'in' A | P ) F" :=<br/>
-&nbsp;&nbsp;(<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">&quot;</span></a>\prod_ ( i 'in' A ) F" :=<br/>
-&nbsp;&nbsp;(<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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_comoid</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">mul_monoid</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">mul_comoid</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">muloid</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addoid</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_rmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">locked_lrmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_rmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">idfun_lrmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_rmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_lrmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">opp_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">opp_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">null_fun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">null_fun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_fun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_fun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_fun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">add_fun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">sub_fun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">sub_fun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">mull_fun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">mull_fun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">mulr_fun_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">mulr_fun_linear</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Frobenius_aut_additive</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Frobenius_aut_rmorphism</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">in_alg_additive</span>.<br/>
-<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="dbec222c7229fb284575ab42ea1e4c8d"><span class="id" title="notation">&quot;</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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">converse_ringType</span>.<br/>
-<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="32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">&quot;</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/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_ringType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_lmodType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_lalgType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_comRingType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_algType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_unitRingType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_comUnitRingType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_unitAlgType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_idomainType</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_fieldType</span>.<br/>
-
-<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_keyed</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_opprPred</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_mulrPred</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_smulrPred</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_divrPred</span>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unit_sdivrPred</span>.<br/>
-
-<br/>
-
-<br/>
-<span class="id" title="keyword">Notation</span> <a name="4469cceefa45bf6eb9c3a2c83154c5db"><span class="id" title="notation">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</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">&quot;</span></a>==&gt;" := <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">&quot;</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">&quot;</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">&quot;</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>
-
-<div class="doc">
- Lifting Structure from the codomain of finfuns.
-</div>
-<div class="code">
-<span class="id" title="keyword">Section</span> <a name="FinFunZmod"><span class="id" title="section">FinFunZmod</span></a>.<br/>
-
-<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#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#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/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/>
-&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#Mixin"><span class="id" title="constructor">Zmodule.Mixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_addA"><span class="id" title="lemma">ffun_addA</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_addC"><span class="id" title="lemma">ffun_addC</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_add0"><span class="id" title="lemma">ffun_add0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_addN"><span class="id" title="lemma">ffun_addN</span></a>.<br/>
-<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ffun_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> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_zmodMixin"><span class="id" title="definition">ffun_zmodMixin</span></a>.<br/>
-
-<br/>
-<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/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#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">&lt;-</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">&lt;-</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/>
-&nbsp;&nbsp;<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">&lt;-</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">&lt;-</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#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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="FinFunRing"><span class="id" title="section">FinFunRing</span></a>.<br/>
-
-<br/>
-</div>
-
-<div class="doc">
- As rings require 1 != 0 in order to lift a ring structure over finfuns
- we need evidence that the domain is non-empty.
-</div>
-<div class="code">
-
-<br/>
-<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#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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="FinFunComRing"><span class="id" title="section">FinFunComRing</span></a>.<br/>
-
-<br/>
-<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/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/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#ffun_ringType"><span class="id" title="definition">ffun_ringType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing.a"><span class="id" title="variable">a</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#ffun_mulC"><span class="id" title="lemma">ffun_mulC</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.ssralg.html#FinFunComRing"><span class="id" title="section">FinFunComRing</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="FinFunLmod"><span class="id" title="section">FinFunLmod</span></a>.<br/>
-
-<br/>
-<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#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#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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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/>
-
-<br/>
-</div>
-
-<div class="doc">
- External direct product.
-</div>
-<div class="code">
-<span class="id" title="keyword">Section</span> <a name="PairZmod"><span class="id" title="section">PairZmod</span></a>.<br/>
-
-<br/>
-<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/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/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/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/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/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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="PairRing"><span class="id" title="section">PairRing</span></a>.<br/>
-
-<br/>
-<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/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/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/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/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/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/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/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">:&gt;</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/>
-&nbsp;&nbsp;<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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="PairComRing"><span class="id" title="section">PairComRing</span></a>.<br/>
-
-<br/>
-<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/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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="PairLmod"><span class="id" title="section">PairLmod</span></a>.<br/>
-
-<br/>
-<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/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/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/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/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/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/>
-&nbsp;&nbsp;<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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="PairLalg"><span class="id" title="section">PairLalg</span></a>.<br/>
-
-<br/>
-<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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="PairAlg"><span class="id" title="section">PairAlg</span></a>.<br/>
-
-<br/>
-<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/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/>
-
-<br/>
-<span class="id" title="keyword">Section</span> <a name="PairUnitRing"><span class="id" title="section">PairUnitRing</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Variables</span> <a name="PairUnitRing.R1"><span class="id" title="variable">R1</span></a> <a name="PairUnitRing.R2"><span class="id" title="variable">R2</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#unitRingType"><span class="id" title="abbreviation">unitRingType</span></a>.<br/>
-
-<br/>
-<span class="id" title="keyword">Definition</span> <a name="pair_unitr"><span class="id" title="definition">pair_unitr</span></a> :=<br/>
-&nbsp;&nbsp;<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">&amp;&amp;</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/>
-&nbsp;&nbsp;<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/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/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#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/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/>
-&nbsp;&nbsp;<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/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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/>
-&nbsp;&nbsp;<span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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>
-</div>
-
-<div id="footer">
-<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a>
-</div>
-
-</div>
-
-</body>
-</html> \ No newline at end of file