diff options
| author | Cyril Cohen | 2019-10-16 11:26:43 +0200 |
|---|---|---|
| committer | Cyril Cohen | 2019-10-16 11:26:43 +0200 |
| commit | 6b59540a2460633df4e3d8347cb4dfe2fb3a3afb (patch) | |
| tree | 1239c1d5553d51a7d73f2f8b465f6a23178ff8a0 /docs/htmldoc/mathcomp.field.fieldext.html | |
| parent | dd82aaeae7e9478efc178ce8430986649555b032 (diff) | |
removing everything but index which redirects to the new page
Diffstat (limited to 'docs/htmldoc/mathcomp.field.fieldext.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.field.fieldext.html | 1277 |
1 files changed, 0 insertions, 1277 deletions
diff --git a/docs/htmldoc/mathcomp.field.fieldext.html b/docs/htmldoc/mathcomp.field.fieldext.html deleted file mode 100644 index 53ff8c2..0000000 --- a/docs/htmldoc/mathcomp.field.fieldext.html +++ /dev/null @@ -1,1277 +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.field.fieldext</title> -</head> - -<body> - -<div id="page"> - -<div id="header"> -</div> - -<div id="main"> - -<h1 class="libtitle">Library mathcomp.field.fieldext</h1> - -<div class="code"> -<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><br/> - -<br/> -</div> - -<div class="doc"> -<a name="lab30"></a><h1 class="section">Finite dimensional field extentions</h1> - - fieldExtType F == the interface type for finite field extensions of F - it simply combines the fieldType and FalgType F - interfaces. - [fieldExtType F of L] == a fieldExt F structure for a type L that has both - FalgType F and fieldType canonical instances. The - field class instance must be manifest with explicit - comRing, idomain, and field mixins. If L has an - abstract field class should use the 'for' variant. - [fieldExtType F of L for K] == a fieldExtType F structure for a type L - that has an FalgType F canonical structure, given - a K : fieldType whose unitRingType projection - coincides with the canonical unitRingType for F. - {subfield L} == the type of subfields of L that are also extensions - of F; since we are in a finite dimensional setting - these are exactly the F-subalgebras of L, and - indeed {subfield L} is just display notation for - {aspace L} when L is an extFieldType. -> All aspace operations apply to {subfield L}, but there are several - additional lemmas and canonical instances specific to {subfield L} - spaces, e.g., subvs_of E is an extFieldType F when E : {subfield L}. -> Also note that not all constructive subfields have type {subfield E} - in the same way that not all constructive subspaces have type - {vspace E}. These types only include the so called "detachable" - subspaces (and subalgebras). - -<div class="paragraph"> </div> - - (E :&: F)%AS, (E * F)%AS == the intersection and product (meet and join) - of E and F as subfields. - subFExtend iota z p == Given a field morphism iota : F -> L, this is a - type for the field F^iota(z) obtained by - adjoining z to the image of F in L under iota. - The construction requires a non-zero polynomial - p in F such that z is a root of p^iota; it - returns the field F^iota if this is not so. - However, p need not be irredicible. - subfx_inj x == The injection of F^iota(z) into L. - inj_subfx iota z p x == The injection of F into F^iota(z). - subfx_eval iota z p q == Given q : {poly F} returns q. [z] as a value of - type F^iota(z). - subfx_root iota z p == The generator of F^iota(z) over F. - SubFieldExtType pz0 irr_p == A fieldExtType F structure for F^iota(z) - (more precisely, subFExtend iota z p), given - proofs pz0: root (map_poly iota p) z and - irr_p : irreducible_poly p. The corresponding - vectType substructure (SubfxVectType pz0 irr_p) - has dimension (size p).-1 over F. - minPoly K x == the monic minimal polynomial of x over the - subfield K. - adjoin_degree K x == the degree of the minimial polynomial or the - dimension of K(x)/K. - Fadjoin_poly K x y == a polynomial p over K such that y = p. [x]. - -<div class="paragraph"> </div> - - fieldOver F == L, but with an extFieldType (subvs_of F) - structure, for F : {subfield L} - vspaceOver F V == the smallest subspace of fieldOver F containing - V; this coincides with V if V is an F-module. - baseFieldType L == L, but with an extFieldType F0 structure, when L - has a canonical extFieldType F structure and F - in turn has an extFieldType F0 structure. - baseVspace V == the subspace of baseFieldType L that coincides - with V : {vspace L}. -> Some caution must be exercised when using fieldOver and baseFieldType, - because these are convertible to L while carrying different Lmodule - structures. This means that the safeguards engineered in the ssralg - library that normally curb the Coq kernel's inclination to diverge are - no longer effectcive, so additional precautions should be taken when - matching or rewriting terms of the form a *: u, because Coq may take - forever to realize it's dealing with a *: in the wrong structure. The - baseField_scaleE and fieldOver_scaleE lemmas should be used to expand - or fold such "trans-structure" operations explicitly beforehand. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Set Implicit Arguments</span>.<br/> - -<br/> -<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing.Theory</span>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="FieldExt"><span class="id" title="module">FieldExt</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FieldExt.FieldExt"><span class="id" title="section">FieldExt</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="FieldExt.FieldExt.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="FieldExt.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">T</span> := <a name="FieldExt.Class"><span class="id" title="constructor">Class</span></a> {<br/> - <a name="FieldExt.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">Falgebra.class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#T"><span class="id" title="variable">T</span></a>;<br/> - <a name="FieldExt.comm_ext"><span class="id" title="projection">comm_ext</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.field.fieldext.html#base"><span class="id" title="method">base</span></a>);<br/> - <a name="FieldExt.idomain_ext"><span class="id" title="projection">idomain_ext</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#GRing.Ring.Pack"><span class="id" title="constructor">Ring.Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#base"><span class="id" title="method">base</span></a>);<br/> - <a name="FieldExt.field_ext"><span class="id" title="projection">field_ext</span></a> : <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#GRing.UnitRing.Pack"><span class="id" title="constructor">UnitRing.Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#base"><span class="id" title="method">base</span></a>)<br/> -}.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FieldExt.FieldExt.Bases"><span class="id" title="section">Bases</span></a>.<br/> -<span class="id" title="keyword">Variables</span> (<a name="FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="FieldExt.FieldExt.Bases.c"><span class="id" title="variable">c</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#T"><span class="id" title="variable">T</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.base1"><span class="id" title="definition">base1</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Class"><span class="id" title="constructor">ComRing.Class</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comm_ext"><span class="id" title="projection">comm_ext</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.c"><span class="id" title="variable">c</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.base2"><span class="id" title="definition">base2</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Class"><span class="id" title="constructor">ComUnitRing.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base1"><span class="id" title="definition">base1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.c"><span class="id" title="variable">c</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.base3"><span class="id" title="definition">base3</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Class"><span class="id" title="constructor">IntegralDomain.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base2"><span class="id" title="definition">base2</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.idomain_ext"><span class="id" title="projection">idomain_ext</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.c"><span class="id" title="variable">c</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.base4"><span class="id" title="definition">base4</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Class"><span class="id" title="constructor">Field.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base3"><span class="id" title="definition">base3</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.field_ext"><span class="id" title="projection">field_ext</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases.c"><span class="id" title="variable">c</span></a>).<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.Bases"><span class="id" title="section">Bases</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Structure</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a>) := <a name="FieldExt.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="FieldExt.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#sort"><span class="id" title="method">sort</span></a>}.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="FieldExt.FieldExt.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.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a>) (<a name="FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#phR"><span class="id" title="variable">phR</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> := <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.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="FieldExt.FieldExt.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.FieldExt.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="FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.xT"><span class="id" title="variable">xT</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.pack"><span class="id" title="definition">pack</span></a> :=<br/> - <span class="id" title="keyword">fun</span> (<span class="id" title="var">bT</span> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.type"><span class="id" title="record">Falgebra.type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a>) <span class="id" title="var">b</span><br/> - & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class"><span class="id" title="definition">Falgebra.class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#bT"><span class="id" title="variable">bT</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.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">Falgebra.class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#bT"><span class="id" title="variable">bT</span></a>)<br/> - (<a class="idref" href="mathcomp.field.fieldext.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.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">Falgebra.class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a>) ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">Cm</span> <span class="id" title="var">IDm</span> <span class="id" title="var">Fm</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.class"><span class="id" title="definition">Field.class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#mT"><span class="id" title="variable">mT</span></a>) (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Class"><span class="id" title="constructor">Field.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a><br/> - (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Class"><span class="id" title="constructor">IntegralDomain.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Class"><span class="id" title="constructor">ComUnitRing.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Class"><span class="id" title="constructor">ComRing.Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a><br/> - <a class="idref" href="mathcomp.field.fieldext.html#Cm"><span class="id" title="variable">Cm</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#IDm"><span class="id" title="variable">IDm</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#Fm"><span class="id" title="variable">Fm</span></a>) ⇒ <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Cm"><span class="id" title="variable">Cm</span></a> <a class="idref" href="mathcomp.field.fieldext.html#IDm"><span class="id" title="variable">IDm</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Fm"><span class="id" title="variable">Fm</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.pack_eta"><span class="id" title="definition">pack_eta</span></a> <span class="id" title="var">K</span> :=<br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">cK</span> := <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.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">Cm</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.mixin"><span class="id" title="projection">ComRing.mixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#cK"><span class="id" title="variable">cK</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">IDm</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.mixin"><span class="id" title="projection">IntegralDomain.mixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#cK"><span class="id" title="variable">cK</span></a> <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">Fm</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin"><span class="id" title="projection">Field.mixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#cK"><span class="id" title="variable">cK</span></a> <span class="id" title="tactic">in</span><br/> - <span class="id" title="keyword">fun</span> (<span class="id" title="var">bT</span> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.type"><span class="id" title="record">Falgebra.type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a>) <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class"><span class="id" title="definition">Falgebra.class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">cT_</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.field.fieldext.html#FieldExt.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#cT_"><span class="id" title="variable">cT_</span></a> ⇒ @<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.T"><span class="id" title="variable">T</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#cT_"><span class="id" title="variable">cT_</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Cm"><span class="id" title="variable">Cm</span></a> <a class="idref" href="mathcomp.field.fieldext.html#IDm"><span class="id" title="variable">IDm</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Fm"><span class="id" title="variable">Fm</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.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.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">UnitAlgebra.Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.vectType"><span class="id" title="definition">vectType</span></a> := @<a class="idref" href="mathcomp.algebra.vector.html#Vector.Pack"><span class="id" title="constructor">Vector.Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.FalgType"><span class="id" title="definition">FalgType</span></a> := @<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Pack"><span class="id" title="constructor">Falgebra.Pack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.Falg_comRingType"><span class="id" title="definition">Falg_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.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.Falg_comUnitRingType"><span class="id" title="definition">Falg_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.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.Falg_idomainType"><span class="id" title="definition">Falg_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.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.Falg_fieldType"><span class="id" title="definition">Falg_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.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.vect_comRingType"><span class="id" title="definition">vect_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.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.vect_comUnitRingType"><span class="id" title="definition">vect_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.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.vect_idomainType"><span class="id" title="definition">vect_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.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.vect_fieldType"><span class="id" title="definition">vect_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.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.unitAlg_comRingType"><span class="id" title="definition">unitAlg_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.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.unitAlg_comUnitRingType"><span class="id" title="definition">unitAlg_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.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.unitAlg_idomainType"><span class="id" title="definition">unitAlg_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.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.unitAlg_fieldType"><span class="id" title="definition">unitAlg_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.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.alg_comRingType"><span class="id" title="definition">alg_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.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.alg_comUnitRingType"><span class="id" title="definition">alg_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.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.alg_idomainType"><span class="id" title="definition">alg_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.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.alg_fieldType"><span class="id" title="definition">alg_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.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lalg_comRingType"><span class="id" title="definition">lalg_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.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lalg_comUnitRingType"><span class="id" title="definition">lalg_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.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lalg_idomainType"><span class="id" title="definition">lalg_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.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lalg_fieldType"><span class="id" title="definition">lalg_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.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lmod_comRingType"><span class="id" title="definition">lmod_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.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lmod_comUnitRingType"><span class="id" title="definition">lmod_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.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lmod_idomainType"><span class="id" title="definition">lmod_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.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="FieldExt.lmod_fieldType"><span class="id" title="definition">lmod_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.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FieldExt"><span class="id" title="section">FieldExt</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <a name="FieldExt.Exports"><span class="id" title="module">Exports</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.sort"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.sort"><span class="id" title="projection">Sortclass</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base"><span class="id" title="projection">Falgebra.class_of</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base4"><span class="id" title="definition">base4</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base4"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base4"><span class="id" title="definition">class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base4"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.base4"><span class="id" title="definition">Field.class_of</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.eqType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.choiceType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.zmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.ringType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.comRingType"><span class="id" title="definition">comRingType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.comUnitRingType"><span class="id" title="definition">comUnitRingType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comUnitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comUnitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.comUnitRingType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.idomainType"><span class="id" title="definition">idomainType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.idomainType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.idomainType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.idomainType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.fieldType"><span class="id" title="definition">fieldType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.fieldType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.fieldType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.fieldType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.lmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.lalgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.algType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.unitAlgType"><span class="id" title="definition">UnitAlgebra.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitAlgType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.vectType"><span class="id" title="definition">Vector.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vectType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">Falgebra.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">FalgType</span>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_fieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_fieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitAlg_comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitAlg_comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitAlg_idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">unitAlg_fieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">alg_comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">alg_comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">alg_idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">alg_fieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalg_comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalg_comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalg_idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lalg_fieldType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmod_comRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmod_comUnitRingType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmod_idomainType</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lmod_fieldType</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="FieldExt.Exports.fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">"</span></a>[ 'fieldExtType' F 'of' L ]" :=<br/> - (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.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">F</span>) <span class="id" title="var">L</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> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'fieldExtType' F 'of' L ]") : <span class="id" title="var">form_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="78069a19fdca27731326a2758b55293c"><span class="id" title="notation">"</span></a>[ 'fieldExtType' F 'of' L 'for' K ]" :=<br/> - (@<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.pack_eta"><span class="id" title="definition">pack_eta</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">F</span>) <span class="id" title="var">L</span> <span class="id" title="var">K</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="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'fieldExtType' F 'of' L 'for' K ]") : <span class="id" title="var">form_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">"</span></a>{ 'subfield' L }" := (@<a class="idref" href="mathcomp.field.falgebra.html#aspace_of"><span class="id" title="definition">aspace_of</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.field.fieldext.html#FieldExt.FalgType"><span class="id" title="definition">FalgType</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">L</span>))<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'subfield' L }") : <span class="id" title="var">type_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt.Exports"><span class="id" title="module">Exports</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExt"><span class="id" title="module">FieldExt</span></a>.<br/> -<span class="id" title="keyword">Export</span> <span class="id" title="var">FieldExt.Exports</span>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_fieldExtType</span> (<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>) := <a class="idref" href="mathcomp.field.fieldext.html#78069a19fdca27731326a2758b55293c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#78069a19fdca27731326a2758b55293c"><span class="id" title="notation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#78069a19fdca27731326a2758b55293c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.field.fieldext.html#78069a19fdca27731326a2758b55293c"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#78069a19fdca27731326a2758b55293c"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FieldExtTheory"><span class="id" title="section">FieldExtTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="FieldExtTheory.F0"><span class="id" title="variable">F0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="FieldExtTheory.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F0"><span class="id" title="variable">F0</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">M</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">E</span> <span class="id" title="var">F</span> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_cosetv"><span class="id" title="lemma">dim_cosetv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.fieldext.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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="prodvC"><span class="id" title="lemma">prodvC</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.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">prodv_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.field.fieldext.html#prodvC"><span class="id" title="lemma">prodvC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="prodvCA"><span class="id" title="lemma">prodvCA</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.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="prodvAC"><span class="id" title="lemma">prodvAC</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.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="algid1"><span class="id" title="lemma">algid1</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem1v"><span class="id" title="lemma">mem1v</span></a> <span class="id" title="var">K</span> : 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.field.fieldext.html#K"><span class="id" title="variable">K</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="sub1v"><span class="id" title="lemma">sub1v</span></a> <span class="id" title="var">K</span> : (1 <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">VS</span>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfield_closed"><span class="id" title="lemma">subfield_closed</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="AHom_lker0"><span class="id" title="lemma">AHom_lker0</span></a> (<span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Exports.FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.F0"><span class="id" title="variable">F0</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">AHom</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.fieldext.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.fieldext.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="AEnd_lker0"><span class="id" title="lemma">AEnd_lker0</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">AEnd</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.fieldext.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span>. <br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="aimg_is_aspace"><span class="id" title="lemma">aimg_is_aspace</span></a> (<span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Exports.FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.F0"><span class="id" title="variable">F0</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">AHom</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.fieldext.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aimg_aspace</span> <span class="id" title="var">rT</span> <span class="id" title="var">f</span> <span class="id" title="var">E</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#aimg_is_aspace"><span class="id" title="lemma">aimg_is_aspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#rT"><span class="id" title="variable">rT</span></a> <a class="idref" href="mathcomp.field.fieldext.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_idP"><span class="id" title="lemma">Fadjoin_idP</span></a> {<span class="id" title="var">K</span> <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.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</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.field.fieldext.html#K"><span class="id" title="variable">K</span></a>) (<a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin0"><span class="id" title="lemma">Fadjoin0</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> 0<a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</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.field.fieldext.html#K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_nil"><span class="id" title="lemma">Fadjoin_nil</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><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="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</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.field.fieldext.html#K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="FadjoinP"><span class="id" title="lemma">FadjoinP</span></a> {<span class="id" title="var">K</span> <span class="id" title="var">x</span> <span class="id" title="var">E</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.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#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.field.falgebra.html#7e6742d42304c0b24013f17e162844ed"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#7e6742d42304c0b24013f17e162844ed"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#7e6742d42304c0b24013f17e162844ed"><span class="id" title="notation">>></span></a>%<span class="id" title="var">AS</span> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_seqP"><span class="id" title="lemma">Fadjoin_seqP</span></a> {<span class="id" title="var">K</span>} {<span class="id" title="var">rs</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>} {<span class="id" title="var">E</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.fieldext.html#rs"><span class="id" title="variable">rs</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.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#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="alg_polyOver"><span class="id" title="lemma">alg_polyOver</span></a> <span class="id" title="var">E</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sub_adjoin1v"><span class="id" title="lemma">sub_adjoin1v</span></a> <span class="id" title="var">x</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a>1<a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.field.fieldext.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.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="vsval_multiplicative"><span class="id" title="lemma">vsval_multiplicative</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</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.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsval_rmorphism</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#vsval_multiplicative"><span class="id" title="lemma">vsval_multiplicative</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsval_lrmorphism</span> <span class="id" title="var">K</span> : <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.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">}</span></a> :=<br/> - <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.vector.html#vsval"><span class="id" title="definition">vsval</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="vsval_invf"><span class="id" title="lemma">vsval_invf</span></a> <span class="id" title="var">K</span> (<span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>) : <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.field.fieldext.html#w"><span class="id" title="variable">w</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.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.field.fieldext.html#w"><span class="id" title="variable">w</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">)^-1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.divr_closed"><span class="id" title="abbreviation">divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_mulrPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.MulrPred"><span class="id" title="definition">MulrPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_divrPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.DivrPred"><span class="id" title="definition">DivrPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_smulrPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SmulrPred"><span class="id" title="definition">SmulrPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_sdivrPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SdivrPred"><span class="id" title="definition">SdivrPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_semiringPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SemiringPred"><span class="id" title="definition">SemiringPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_subringPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SubringPred"><span class="id" title="definition">SubringPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_subalgPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SubalgPred"><span class="id" title="definition">SubalgPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_divringPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.DivringPred"><span class="id" title="definition">DivringPred</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspace_divr_closed"><span class="id" title="lemma">aspace_divr_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_divalgPred</span> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.DivalgPred"><span class="id" title="definition">DivalgPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_mulC"><span class="id" title="definition">subvs_mulC</span></a> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation">comRingMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4c5a69764ef57db08f25bb13c5922bb9"><span class="id" title="notation"><:]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_comRingType</span> <span class="id" title="var">K</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>) (@<a class="idref" href="mathcomp.field.fieldext.html#subvs_mulC"><span class="id" title="definition">subvs_mulC</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_comUnitRingType</span> <span class="id" title="var">K</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_mul_eq0"><span class="id" title="definition">subvs_mul_eq0</span></a> <span class="id" title="var">K</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation">idomainMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#5b251e8f030769055bfe05ad2f695eba"><span class="id" title="notation"><:]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_idomainType</span> <span class="id" title="var">K</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>) (@<a class="idref" href="mathcomp.field.fieldext.html#subvs_mul_eq0"><span class="id" title="definition">subvs_mul_eq0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Lemma</span> <a name="subvs_fieldMixin"><span class="id" title="lemma">subvs_fieldMixin</span></a> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">GRing.Field.mixin_of</span></a> (@<a class="idref" href="mathcomp.field.fieldext.html#subvs_idomainType"><span class="id" title="definition">subvs_idomainType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_fieldType</span> <span class="id" title="var">K</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>) (@<a class="idref" href="mathcomp.field.fieldext.html#subvs_fieldMixin"><span class="id" title="lemma">subvs_fieldMixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_fieldExtType</span> <span class="id" title="var">K</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.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="polyOver_subvs"><span class="id" title="lemma">polyOver_subvs</span></a> {<span class="id" title="var">K</span>} {<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a>)<br/> - (<a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="divp_polyOver"><span class="id" title="lemma">divp_polyOver</span></a> <span class="id" title="var">K</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.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">p</span> <span class="id" title="var">q</span>, <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#72a0c853cc9a32bb5fdc8a920a96e7c6"><span class="id" title="notation">%/</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="modp_polyOver"><span class="id" title="lemma">modp_polyOver</span></a> <span class="id" title="var">K</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.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">p</span> <span class="id" title="var">q</span>, <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="gcdp_polyOver"><span class="id" title="lemma">gcdp_polyOver</span></a> <span class="id" title="var">K</span> :<br/> - <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.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">p</span> <span class="id" title="var">q</span>, <a class="idref" href="mathcomp.algebra.polydiv.html#Pdiv.Field.gcdp"><span class="id" title="definition">gcdp</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="prodv_is_aspace"><span class="id" title="lemma">prodv_is_aspace</span></a> <span class="id" title="var">E</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">prodv_aspace</span> <span class="id" title="var">E</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#prodv_is_aspace"><span class="id" title="lemma">prodv_is_aspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="field_mem_algid"><span class="id" title="lemma">field_mem_algid</span></a> <span class="id" title="var">E</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#F"><span class="id" title="variable">F</span></a>. <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">capv_aspace</span> <span class="id" title="var">E</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.field.falgebra.html#aspace_cap"><span class="id" title="definition">aspace_cap</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#field_mem_algid"><span class="id" title="lemma">field_mem_algid</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="polyOverSv"><span class="id" title="lemma">polyOverSv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="field_subvMl"><span class="id" title="lemma">field_subvMl</span></a> <span class="id" title="var">F</span> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="field_subvMr"><span class="id" title="lemma">field_subvMr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">F</span> : (<a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="field_module_eq"><span class="id" title="lemma">field_module_eq</span></a> <span class="id" title="var">F</span> <span class="id" title="var">M</span> : (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#M"><span class="id" title="variable">M</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sup_field_module"><span class="id" title="lemma">sup_field_module</span></a> <span class="id" title="var">F</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="field_module_dimS"><span class="id" title="lemma">field_module_dimS</span></a> <span class="id" title="var">F</span> <span class="id" title="var">M</span> : (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="field_dimS"><span class="id" title="lemma">field_dimS</span></a> <span class="id" title="var">F</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_field_module"><span class="id" title="lemma">dim_field_module</span></a> <span class="id" title="var">F</span> <span class="id" title="var">M</span> : (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_F</span></a> <a class="idref" href="mathcomp.field.fieldext.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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_sup_field"><span class="id" title="lemma">dim_sup_field</span></a> <span class="id" title="var">F</span> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.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#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="field_module_semisimple"><span class="id" title="lemma">field_module_semisimple</span></a> <span class="id" title="var">F</span> <span class="id" title="var">M</span> (<span class="id" title="var">m</span> := <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>) :<br/> - (<a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</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><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">X</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.fieldext.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#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</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> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#X"><span class="id" title="variable">X</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a> <span class="id" title="keyword">let</span> <span class="id" title="var">FX</span> := (<a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.fieldext.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.fieldext.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>)%<span class="id" title="var">VS</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.field.fieldext.html#FX"><span class="id" title="variable">FX</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.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#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FX"><span class="id" title="variable">FX</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FieldExtTheory.FadjoinPolyDefinitions"><span class="id" title="section">FadjoinPolyDefinitions</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="FieldExtTheory.FadjoinPolyDefinitions.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<a name="FieldExtTheory.FadjoinPolyDefinitions.x"><span class="id" title="variable">x</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="adjoin_degree"><span class="id" title="definition">adjoin_degree</span></a> := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></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#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Fadjoin_sum"><span class="id" title="definition">Fadjoin_sum</span></a> := (<a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> :=<br/> - <a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation">poly_</span></a><a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#sumv_pi"><span class="id" title="abbreviation">sumv_pi</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_sum"><span class="id" title="definition">Fadjoin_sum</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#inord"><span class="id" title="definition">inord</span></a> <a class="idref" href="mathcomp.field.fieldext.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#69c431a9c94f6f30a655bd7ddb59037b"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.poly.html#e7c928d7996da3748fbd8a7e6d560557"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="minPoly"><span class="id" title="definition">minPoly</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.algebra.poly.html#e809881bcf0cc80f806c17b9ef433187"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#e809881bcf0cc80f806c17b9ef433187"><span class="id" title="notation">X</span></a><a class="idref" href="mathcomp.algebra.poly.html#e809881bcf0cc80f806c17b9ef433187"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_Fadjoin_poly"><span class="id" title="lemma">size_Fadjoin_poly</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_polyOver"><span class="id" title="lemma">Fadjoin_polyOver</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.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#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions.U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Fadjoin_poly_is_linear"><span class="id" title="lemma">Fadjoin_poly_is_linear</span></a> : <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#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</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#eb2b32cc2f63f97454a307a8ee8d68cc"><span class="id" title="notation">*:%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#eb2b32cc2f63f97454a307a8ee8d68cc"><span class="id" title="notation">R</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Fadjoin_poly_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly_is_linear"><span class="id" title="lemma">Fadjoin_poly_is_linear</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Fadjoin_poly_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly_is_linear"><span class="id" title="lemma">Fadjoin_poly_is_linear</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_minPoly"><span class="id" title="lemma">size_minPoly</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="monic_minPoly"><span class="id" title="lemma">monic_minPoly</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPolyDefinitions"><span class="id" title="section">FadjoinPolyDefinitions</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FieldExtTheory.FadjoinPoly"><span class="id" title="section">FadjoinPoly</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) (<a name="FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="adjoin_degreeE"><span class="id" title="lemma">adjoin_degreeE</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">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.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_Fadjoin"><span class="id" title="lemma">dim_Fadjoin</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="adjoin0_deg"><span class="id" title="lemma">adjoin0_deg</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#adjoin_degree"><span class="id" title="definition">adjoin_degree</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</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%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="adjoin_deg_eq1"><span class="id" title="lemma">adjoin_deg_eq1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.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.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_sum_direct"><span class="id" title="lemma">Fadjoin_sum_direct</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#sumKx"><span class="id" title="abbreviation">sumKx</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="FieldExtTheory.FadjoinPoly.nz_x_i"><span class="id" title="variable">nz_x_i</span></a> (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a>) : <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.fieldext.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="Fadjoin_eq_sum"><span class="id" title="lemma">Fadjoin_eq_sum</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</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.field.fieldext.html#sumKx"><span class="id" title="abbreviation">sumKx</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_poly_eq"><span class="id" title="lemma">Fadjoin_poly_eq</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.field.fieldext.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.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</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.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mempx_Fadjoin"><span class="id" title="lemma">mempx_Fadjoin</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><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">\</span></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.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_polyP"><span class="id" title="lemma">Fadjoin_polyP</span></a> {<span class="id" title="var">v</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#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">p</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.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>) (<a class="idref" href="mathcomp.field.fieldext.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.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_poly_unique"><span class="id" title="lemma">Fadjoin_poly_unique</span></a> <span class="id" title="var">p</span> <span class="id" title="var">v</span> :<br/> - <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">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.field.fieldext.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_polyC"><span class="id" title="lemma">Fadjoin_polyC</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_polyX"><span class="id" title="lemma">Fadjoin_polyX</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minPolyOver"><span class="id" title="lemma">minPolyOver</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minPolyxx"><span class="id" title="lemma">minPolyxx</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a> <a 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="root_minPoly"><span class="id" title="lemma">root_minPoly</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin_poly_mod"><span class="id" title="lemma">Fadjoin_poly_mod</span></a> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#Fadjoin_poly"><span class="id" title="definition">Fadjoin_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minPoly_XsubC"><span class="id" title="lemma">minPoly_XsubC</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.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a>) (<a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="root_small_adjoin_poly"><span class="id" title="lemma">root_small_adjoin_poly</span></a> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#n"><span class="id" title="abbreviation">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.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minPoly_irr"><span class="id" title="lemma">minPoly_irr</span></a> <span class="id" title="var">p</span> :<br/> - <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#952776a2e27e0a80427a97e8cd81c9aa"><span class="id" title="notation">%=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</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.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#952776a2e27e0a80427a97e8cd81c9aa"><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="minPoly_dvdp"><span class="id" title="lemma">minPoly_dvdp</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.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.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly.x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.FadjoinPoly"><span class="id" title="section">FadjoinPoly</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="minPolyS"><span class="id" title="lemma">minPolyS</span></a> <span class="id" title="var">K</span> <span class="id" title="var">E</span> <span class="id" title="var">a</span> : (<a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#64fc6df2b95b79b2107dd5d7f2014b97"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Fadjoin1_polyP"><span class="id" title="lemma">Fadjoin1_polyP</span></a> <span class="id" title="var">x</span> <span class="id" title="var">v</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#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">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.field.fieldext.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.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>) (<a class="idref" href="mathcomp.field.fieldext.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.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a>1<a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FieldExtTheory.Horner"><span class="id" title="section">Horner</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> <a name="FieldExtTheory.Horner.z"><span class="id" title="variable">z</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="fieldExt_horner"><span class="id" title="definition">fieldExt_horner</span></a> := <a class="idref" href="mathcomp.algebra.poly.html#horner_morph"><span class="id" title="definition">horner_morph</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.mulrC"><span class="id" title="definition">mulrC</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.Horner.z"><span class="id" title="variable">z</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>)).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldExtHorner_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldExt_horner"><span class="id" title="definition">fieldExt_horner</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldExtHorner_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldExt_horner"><span class="id" title="definition">fieldExt_horner</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="fieldExt_hornerC"><span class="id" title="lemma">fieldExt_hornerC</span></a> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExt_horner"><span class="id" title="definition">fieldExt_horner</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#8b14e41ab5fcce2460b8672da1456d67"><span class="id" title="notation">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">A</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="fieldExt_hornerX"><span class="id" title="lemma">fieldExt_hornerX</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExt_horner"><span class="id" title="definition">fieldExt_horner</span></a> <a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">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.field.fieldext.html#FieldExtTheory.Horner.z"><span class="id" title="variable">z</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="fieldExt_hornerZ"><span class="id" title="lemma">fieldExt_hornerZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldExt_horner"><span class="id" title="definition">fieldExt_horner</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldExt_horner_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldExt_hornerZ"><span class="id" title="lemma">fieldExt_hornerZ</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldExt_horner_lrmorhism</span> := <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.field.fieldext.html#fieldExt_horner"><span class="id" title="definition">fieldExt_horner</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">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory.Horner"><span class="id" title="section">Horner</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldExtTheory"><span class="id" title="section">FieldExtTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="87a65cef3d3cd481a53fe8d196ee7be6"><span class="id" title="notation">"</span></a>E :&: F" := (<a class="idref" href="mathcomp.field.fieldext.html#capv_aspace"><span class="id" title="definition">capv_aspace</span></a> <span class="id" title="var">E</span> <span class="id" title="var">F</span>) : <span class="id" title="var">aspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="0dc5e23a271b9ecdf7364ce9615ad69a"><span class="id" title="notation">"</span></a>'C_ E [ x ]" := (<a class="idref" href="mathcomp.field.fieldext.html#capv_aspace"><span class="id" title="definition">capv_aspace</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">[</span></a><span class="id" title="var">x</span><a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">]</span></a>) : <span class="id" title="var">aspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="70ca9f317f986ec15c5795e7e0548f88"><span class="id" title="notation">"</span></a>'C_ ( E ) [ x ]" := (<a class="idref" href="mathcomp.field.fieldext.html#capv_aspace"><span class="id" title="definition">capv_aspace</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">[</span></a><span class="id" title="var">x</span><a class="idref" href="mathcomp.field.falgebra.html#22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">]</span></a>)<br/> - (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">aspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="8e89bd31d6b97edf3bc76a2bffb57e09"><span class="id" title="notation">"</span></a>'C_ E ( V )" := (<a class="idref" href="mathcomp.field.fieldext.html#capv_aspace"><span class="id" title="definition">capv_aspace</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">(</span></a><span class="id" title="var">V</span><a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">)</span></a>) : <span class="id" title="var">aspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="37ee558bee925c9f70159385f47560a9"><span class="id" title="notation">"</span></a>'C_ ( E ) ( V )" := (<a class="idref" href="mathcomp.field.fieldext.html#capv_aspace"><span class="id" title="definition">capv_aspace</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">(</span></a><span class="id" title="var">V</span><a class="idref" href="mathcomp.field.falgebra.html#c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">)</span></a>)<br/> - (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">aspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="3c8ee6c8439cae5d8a7466557166346d"><span class="id" title="notation">"</span></a>E * F" := (<a class="idref" href="mathcomp.field.fieldext.html#prodv_aspace"><span class="id" title="definition">prodv_aspace</span></a> <span class="id" title="var">E</span> <span class="id" title="var">F</span>) : <span class="id" title="var">aspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="89873fad6e76354bd2a3047e44efc911"><span class="id" title="notation">"</span></a>f @: E" := (<a class="idref" href="mathcomp.field.fieldext.html#aimg_aspace"><span class="id" title="definition">aimg_aspace</span></a> <span class="id" title="var">f</span> <span class="id" title="var">E</span>) : <span class="id" title="var">aspace_scope</span>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="MapMinPoly"><span class="id" title="section">MapMinPoly</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="MapMinPoly.F0"><span class="id" title="variable">F0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="MapMinPoly.L"><span class="id" title="variable">L</span></a> <a name="MapMinPoly.rL"><span class="id" title="variable">rL</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F0"><span class="id" title="variable">F0</span></a>) (<a name="MapMinPoly.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">AHom</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.fieldext.html#rL"><span class="id" title="variable">rL</span></a><a class="idref" href="mathcomp.field.falgebra.html#5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">)</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="MapMinPoly.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) (<a name="MapMinPoly.x"><span class="id" title="variable">x</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.L"><span class="id" title="variable">L</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="adjoin_degree_aimg"><span class="id" title="lemma">adjoin_degree_aimg</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#adjoin_degree"><span class="id" title="definition">adjoin_degree</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.K"><span class="id" title="variable">K</span></a>) (<a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.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.field.fieldext.html#adjoin_degree"><span class="id" title="definition">adjoin_degree</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="map_minPoly"><span class="id" title="lemma">map_minPoly</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.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.field.fieldext.html#minPoly"><span class="id" title="definition">minPoly</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.K"><span class="id" title="variable">K</span></a>) (<a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly.x"><span class="id" title="variable">x</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#MapMinPoly"><span class="id" title="section">MapMinPoly</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Changing up the reference field of a fieldExtType. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="FieldOver"><span class="id" title="section">FieldOver</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="FieldOver.F0"><span class="id" title="variable">F0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="FieldOver.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F0"><span class="id" title="variable">F0</span></a>) (<a name="FieldOver.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="fieldOver"><span class="id" title="definition">fieldOver</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldOver.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a> : <span class="id" title="keyword">Type</span> := <a class="idref" href="mathcomp.field.fieldext.html#FieldOver.L"><span class="id" title="variable">L</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">Definition</span> <a name="fieldOver_scale"><span class="id" title="definition">fieldOver_scale</span></a> (<span class="id" title="var">a</span> : <a class="idref" href="mathcomp.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a>) (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a>) : <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_scaleA"><span class="id" title="lemma">fieldOver_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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_scale1"><span class="id" title="lemma">fieldOver_scale1</span></a> <span class="id" title="var">u</span> : 1 <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_scaleDr"><span class="id" title="lemma">fieldOver_scaleDr</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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_scaleDl"><span class="id" title="lemma">fieldOver_scaleDl</span></a> <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.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="fieldOver_lmodMixin"><span class="id" title="definition">fieldOver_lmodMixin</span></a> :=<br/> - <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.field.fieldext.html#fieldOver_scaleA"><span class="id" title="lemma">fieldOver_scaleA</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_scale1"><span class="id" title="lemma">fieldOver_scale1</span></a><br/> - <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_scaleDr"><span class="id" title="lemma">fieldOver_scaleDr</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_scaleDl"><span class="id" title="lemma">fieldOver_scaleDl</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_lmodMixin"><span class="id" title="definition">fieldOver_lmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fieldOver_scaleE"><span class="id" title="lemma">fieldOver_scaleE</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.fieldext.html#FieldOver.L"><span class="id" title="variable">L</span></a>) : <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.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.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_scaleAl"><span class="id" title="lemma">fieldOver_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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_lalgType</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.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_scaleAl"><span class="id" title="lemma">fieldOver_scaleAl</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="fieldOver_scaleAr"><span class="id" title="lemma">fieldOver_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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">F</span></a><a class="idref" href="mathcomp.field.fieldext.html#6f2c77fbfb346ccf3ded84f9624cdaa7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_algType</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.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_scaleAr"><span class="id" title="lemma">fieldOver_scaleAr</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_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.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</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">Fact</span> <a name="fieldOver_vectMixin"><span class="id" title="lemma">fieldOver_vectMixin</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin_of"><span class="id" title="inductive">Vector.mixin_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_lmodType"><span class="id" title="definition">fieldOver_lmodType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldOver_vectMixin"><span class="id" title="lemma">fieldOver_vectMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_FalgType</span> := <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fieldOver_fieldExtType</span> := <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#K_F"><span class="id" title="abbreviation">K_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldOver.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#FieldOver.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="trivial_fieldOver"><span class="id" title="lemma">trivial_fieldOver</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>1%<span class="id" title="var">VS</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> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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">=</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.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.field.fieldext.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#aed478b27f23b4f753c27c8ac393febc"><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.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem_vspaceOver"><span class="id" title="lemma">mem_vspaceOver</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem_aspaceOver"><span class="id" title="lemma">mem_aspaceOver</span></a> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="aspaceOver_suproof"><span class="id" title="lemma">aspaceOver_suproof</span></a> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspaceOver</span> <span class="id" title="var">E</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#aspaceOver_suproof"><span class="id" title="lemma">aspaceOver_suproof</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_vspaceOver"><span class="id" title="lemma">dim_vspaceOver</span></a> <span class="id" title="var">M</span> : (<a class="idref" href="mathcomp.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">VS</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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M"><span class="id" title="variable">M</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_aspaceOver"><span class="id" title="lemma">dim_aspaceOver</span></a> <span class="id" title="var">E</span> : (<a class="idref" href="mathcomp.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.field.falgebra.html#222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">dim_F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vspaceOverP"><span class="id" title="lemma">vspaceOverP</span></a> <span class="id" title="var">V_F</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">V</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="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.field.fieldext.html#V_F"><span class="id" title="variable">V_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.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <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.field.fieldext.html#V_F"><span class="id" title="variable">V_F</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.field.fieldext.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#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="aspaceOverP"><span class="id" title="lemma">aspaceOverP</span></a> (<span class="id" title="var">E_F</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L_F"><span class="id" title="abbreviation">L_F</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">E</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="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.field.fieldext.html#E_F"><span class="id" title="variable">E_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.field.fieldext.html#aspaceOver"><span class="id" title="definition">aspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.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#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#FieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span> <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.field.fieldext.html#E_F"><span class="id" title="variable">E_F</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.field.fieldext.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#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#FieldOver"><span class="id" title="section">FieldOver</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Changing the reference field to a smaller field. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="BaseField"><span class="id" title="section">BaseField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="BaseField.F0"><span class="id" title="variable">F0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="BaseField.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F0"><span class="id" title="variable">F0</span></a>) (<a name="BaseField.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="baseField_type"><span class="id" title="definition">baseField_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.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</span></a> : <span class="id" title="keyword">Type</span> := <a class="idref" href="mathcomp.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="L0"><span class="id" title="abbreviation">L0</span></a> := (<a class="idref" href="mathcomp.field.fieldext.html#baseField_type"><span class="id" title="definition">baseField_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> (<a class="idref" href="mathcomp.field.fieldext.html#sort"><span class="id" title="projection">FieldExt.sort</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</span></a>))).<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#964cf6dee45a836ccf0bcd3d85de1071"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2734494507570795a22f59746d1c0f0e"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b10128495340407de3c7b321ce0c78de"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">Definition</span> <a name="baseField_scale"><span class="id" title="definition">baseField_scale</span></a> (<span class="id" title="var">a</span> : <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a>) (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a>) : <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_scaleA"><span class="id" title="lemma">baseField_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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_scale1"><span class="id" title="lemma">baseField_scale1</span></a> <span class="id" title="var">u</span> : 1 <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_scaleDr"><span class="id" title="lemma">baseField_scaleDr</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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_scaleDl"><span class="id" title="lemma">baseField_scaleDl</span></a> <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.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="baseField_lmodMixin"><span class="id" title="definition">baseField_lmodMixin</span></a> :=<br/> - <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.field.fieldext.html#baseField_scaleA"><span class="id" title="lemma">baseField_scaleA</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_scale1"><span class="id" title="lemma">baseField_scale1</span></a><br/> - <a class="idref" href="mathcomp.field.fieldext.html#baseField_scaleDr"><span class="id" title="lemma">baseField_scaleDr</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_scaleDl"><span class="id" title="lemma">baseField_scaleDl</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_lmodMixin"><span class="id" title="definition">baseField_lmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="baseField_scaleE"><span class="id" title="lemma">baseField_scaleE</span></a> <span class="id" title="var">a</span> (<span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</span></a>) : <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.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.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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.field.fieldext.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_scaleAl"><span class="id" title="lemma">baseField_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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a>) : <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_lalgType</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.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_scaleAl"><span class="id" title="lemma">baseField_scaleAl</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_scaleAr"><span class="id" title="lemma">baseField_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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">F0</span></a><a class="idref" href="mathcomp.field.fieldext.html#3883041fa3186d325f6219ebdb9cb7ed"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.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/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_algType</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.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_scaleAr"><span class="id" title="lemma">baseField_scaleAr</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_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.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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">Let</span> <a name="BaseField.n"><span class="id" title="variable">n</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.fieldext.html#BaseField.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="BaseField.bF"><span class="id" title="variable">bF</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#BaseField.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F"><span class="id" title="variable">F</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.fieldext.html#BaseField.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="BaseField.coordF"><span class="id" title="variable">coordF</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F"><span class="id" title="variable">F</span></a>) := (<a class="idref" href="mathcomp.algebra.vector.html#coord_vbasis"><span class="id" title="lemma">coord_vbasis</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memvf"><span class="id" title="lemma">memvf</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseField_vectMixin"><span class="id" title="lemma">baseField_vectMixin</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin_of"><span class="id" title="inductive">Vector.mixin_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_lmodType"><span class="id" title="definition">baseField_lmodType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseField_vectMixin"><span class="id" title="lemma">baseField_vectMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_FalgType</span> := <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseField_extFieldType</span> := <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.F0"><span class="id" title="variable">F0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="BaseField.F0ZEZ"><span class="id" title="variable">F0ZEZ</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.field.fieldext.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="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.field.fieldext.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.fieldext.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#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</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="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.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</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#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#x"><span class="id" title="variable">x</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.field.fieldext.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="BaseField.baseVspace_basis"><span class="id" title="variable">baseVspace_basis</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a> :=<br/> - <a class="idref" href="mathcomp.ssreflect.fintype.html#2ea807d068496425ebd93f2c454c8460"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2ea807d068496425ebd93f2c454c8460"><span class="id" title="notation">seq</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.bF"><span class="id" title="variable">bF</span></a> <a class="idref" href="mathcomp.field.fieldext.html#ij"><span class="id" title="variable">ij</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#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#ij"><span class="id" title="variable">ij</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.fintype.html#2ea807d068496425ebd93f2c454c8460"><span class="id" title="notation">|</span></a> <span class="id" title="var">ij</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#2ea807d068496425ebd93f2c454c8460"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><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.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#2ea807d068496425ebd93f2c454c8460"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="baseVspace"><span class="id" title="definition">baseVspace</span></a> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.field.fieldext.html#BaseField.baseVspace_basis"><span class="id" title="variable">baseVspace_basis</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem_baseVspace"><span class="id" title="lemma">mem_baseVspace</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#V"><span class="id" title="variable">V</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_baseVspace"><span class="id" title="lemma">dim_baseVspace</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="baseAspace_suproof"><span class="id" title="lemma">baseAspace_suproof</span></a> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">baseAspace</span> <span class="id" title="var">E</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#baseAspace_suproof"><span class="id" title="lemma">baseAspace_suproof</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="refBaseField_key"><span class="id" title="lemma">refBaseField_key</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">Definition</span> <a name="refBaseField"><span class="id" title="definition">refBaseField</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.field.fieldext.html#refBaseField_key"><span class="id" title="lemma">refBaseField_key</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#baseAspace"><span class="id" title="definition">baseAspace</span></a> 1).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">refBaseField_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#5ad020f08aa5d2a22e22f3b18f63fcd0"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#5ad020f08aa5d2a22e22f3b18f63fcd0"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#5ad020f08aa5d2a22e22f3b18f63fcd0"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#refBaseField"><span class="id" title="definition">refBaseField</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#5ad020f08aa5d2a22e22f3b18f63fcd0"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="F1"><span class="id" title="abbreviation">F1</span></a> := <a class="idref" href="mathcomp.field.fieldext.html#refBaseField"><span class="id" title="definition">refBaseField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_refBaseField"><span class="id" title="lemma">dim_refBaseField</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F1"><span class="id" title="abbreviation">F1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="baseVspace_module"><span class="id" title="lemma">baseVspace_module</span></a> <span class="id" title="var">V</span> (<span class="id" title="var">V0</span> := <a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>) : (<a class="idref" href="mathcomp.field.fieldext.html#F1"><span class="id" title="abbreviation">F1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V0"><span class="id" title="variable">V0</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V0"><span class="id" title="variable">V0</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sub_baseField"><span class="id" title="lemma">sub_baseField</span></a> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#BaseField.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) : (<a class="idref" href="mathcomp.field.fieldext.html#F1"><span class="id" title="abbreviation">F1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vspaceOver_refBase"><span class="id" title="lemma">vspaceOver_refBase</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F1"><span class="id" title="abbreviation">F1</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#V"><span class="id" title="variable">V</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="module_baseVspace"><span class="id" title="lemma">module_baseVspace</span></a> <span class="id" title="var">M0</span> :<br/> - (<a class="idref" href="mathcomp.field.fieldext.html#F1"><span class="id" title="abbreviation">F1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M0"><span class="id" title="variable">M0</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M0"><span class="id" title="variable">M0</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">V</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M0"><span class="id" title="variable">M0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> <a class="idref" href="mathcomp.field.fieldext.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.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.html#M0"><span class="id" title="variable">M0</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.field.fieldext.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.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="module_baseAspace"><span class="id" title="lemma">module_baseAspace</span></a> (<span class="id" title="var">E0</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L0"><span class="id" title="abbreviation">L0</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) :<br/> - (<a class="idref" href="mathcomp.field.fieldext.html#F1"><span class="id" title="abbreviation">F1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E0"><span class="id" title="variable">E0</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">E</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E0"><span class="id" title="variable">E0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#baseAspace"><span class="id" title="definition">baseAspace</span></a> <a class="idref" href="mathcomp.field.fieldext.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.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E0"><span class="id" title="variable">E0</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.field.fieldext.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.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#BaseField"><span class="id" title="section">BaseField</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="baseFieldType"><span class="id" title="abbreviation">baseFieldType</span></a> <span class="id" title="var">L</span> := (<a class="idref" href="mathcomp.field.fieldext.html#baseField_type"><span class="id" title="definition">baseField_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">L</span>)).<br/> - -<br/> -</div> - -<div class="doc"> - Base of fieldOver, finally. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="MoreFieldOver"><span class="id" title="section">MoreFieldOver</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="MoreFieldOver.F0"><span class="id" title="variable">F0</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="MoreFieldOver.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F0"><span class="id" title="variable">F0</span></a>) (<a name="MoreFieldOver.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="base_vspaceOver"><span class="id" title="lemma">base_vspaceOver</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#MoreFieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="base_moduleOver"><span class="id" title="lemma">base_moduleOver</span></a> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#V"><span class="id" title="variable">V</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="base_aspaceOver"><span class="id" title="lemma">base_aspaceOver</span></a> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">subfield</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver.L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.field.fieldext.html#810f00798e9fd6a59691271bacabea40"><span class="id" title="notation">}</span></a>) :<br/> - (<a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.fieldext.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">VS</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.field.fieldext.html#baseVspace"><span class="id" title="definition">baseVspace</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#vspaceOver"><span class="id" title="definition">vspaceOver</span></a> <a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.field.fieldext.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#MoreFieldOver"><span class="id" title="section">MoreFieldOver</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SubFieldExtension"><span class="id" title="section">SubFieldExtension</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">quotient_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a name="SubFieldExtension.L"><span class="id" title="variable">L</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="SubFieldExtension.iota"><span class="id" title="variable">iota</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.field.fieldext.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.field.fieldext.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d531732ed602c7af62b88c7cfce824e5"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="SubFieldExtension.z"><span class="id" title="variable">z</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.L"><span class="id" title="variable">L</span></a>) (<a name="SubFieldExtension.p"><span class="id" title="variable">p</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>).<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.wf_p"><span class="id" title="variable">wf_p</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.z"><span class="id" title="variable">z</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.p0"><span class="id" title="variable">p0</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.wf_p"><span class="id" title="variable">wf_p</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#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#lead_coef"><span class="id" title="definition">lead_coef</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.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#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.z0"><span class="id" title="variable">z0</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.field.fieldext.html#SubFieldExtension.wf_p"><span class="id" title="variable">wf_p</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.field.fieldext.html#SubFieldExtension.z"><span class="id" title="variable">z</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.<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.n"><span class="id" title="variable">n</span></a> := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><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.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">).-1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.p0_mon"><span class="id" title="variable">p0_mon</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c94c2df86ca03f22f8f8b739cd7e1e88"><span class="id" title="notation">is</span></a> <a class="idref" href="mathcomp.algebra.poly.html#monic"><span class="id" title="definition">monic</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.nz_p0"><span class="id" title="variable">nz_p0</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</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">Let</span> <a name="SubFieldExtension.p0z0"><span class="id" title="variable">p0z0</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.z0"><span class="id" title="variable">z0</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.n_gt0"><span class="id" title="variable">n_gt0</span></a>: 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.z0Ciota"><span class="id" title="variable">z0Ciota</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#commr_rmorph"><span class="id" title="definition">commr_rmorph</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.iota"><span class="id" title="variable">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.z0"><span class="id" title="variable">z0</span></a>. <br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.iotaFz"><span class="id" title="variable">iotaFz</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_n</span></a>) := <a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="equiv_subfext"><span class="id" title="definition">equiv_subfext</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := (<a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.iotaFz"><span class="id" title="variable">iotaFz</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#SubFieldExtension.iotaFz"><span class="id" title="variable">iotaFz</span></a> <a class="idref" href="mathcomp.field.fieldext.html#y"><span class="id" title="variable">y</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="equiv_subfext_is_equiv"><span class="id" title="lemma">equiv_subfext_is_equiv</span></a> : <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#equiv_class_of"><span class="id" title="inductive">equiv_class_of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#equiv_subfext"><span class="id" title="definition">equiv_subfext</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">equiv_subfext_equiv</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#EquivRelPack"><span class="id" title="constructor">EquivRelPack</span></a> <a class="idref" href="mathcomp.field.fieldext.html#equiv_subfext_is_equiv"><span class="id" title="lemma">equiv_subfext_is_equiv</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">equiv_subfext_encModRel</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#defaultEncModRel"><span class="id" title="definition">defaultEncModRel</span></a> <a class="idref" href="mathcomp.field.fieldext.html#equiv_subfext"><span class="id" title="definition">equiv_subfext</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subFExtend"><span class="id" title="definition">subFExtend</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#0dc587318a1236d89082bca629a5db9b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#0dc587318a1236d89082bca629a5db9b"><span class="id" title="notation">eq_quot</span></a> <a class="idref" href="mathcomp.field.fieldext.html#equiv_subfext"><span class="id" title="definition">equiv_subfext</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#0dc587318a1236d89082bca629a5db9b"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subFExtend_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.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</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">subFExtend_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.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</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">subFExtend_quotType</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#2b6ecaeff71b4103d20b05dbc196dba6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#2b6ecaeff71b4103d20b05dbc196dba6"><span class="id" title="notation">quotType</span></a> <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#2b6ecaeff71b4103d20b05dbc196dba6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#2b6ecaeff71b4103d20b05dbc196dba6"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subFExtend_eqQuotType</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#dc3d569865bd181e003ea2b17400befd"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#dc3d569865bd181e003ea2b17400befd"><span class="id" title="notation">eqQuotType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#equiv_subfext"><span class="id" title="definition">equiv_subfext</span></a> <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#dc3d569865bd181e003ea2b17400befd"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#dc3d569865bd181e003ea2b17400befd"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_inj"><span class="id" title="definition">subfx_inj</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_fun1"><span class="id" title="abbreviation">lift_fun1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.iotaFz"><span class="id" title="variable">iotaFz</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="pi_subfx_inj"><span class="id" title="lemma">pi_subfx_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#96bead841b87c72f1ae1be942b541e72"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#96bead841b87c72f1ae1be942b541e72"><span class="id" title="notation">mono</span></a> <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">pi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#96bead841b87c72f1ae1be942b541e72"><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#96bead841b87c72f1ae1be942b541e72"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.iotaFz"><span class="id" title="variable">iotaFz</span></a> <a class="idref" href="mathcomp.field.fieldext.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#96bead841b87c72f1ae1be942b541e72"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a> <a class="idref" href="mathcomp.field.fieldext.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#96bead841b87c72f1ae1be942b541e72"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pi_subfx_inj_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiMono1"><span class="id" title="abbreviation">PiMono1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#pi_subfx_inj"><span class="id" title="lemma">pi_subfx_inj</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.iotaPz_repr"><span class="id" title="variable">iotaPz_repr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</span></a> (<a class="idref" href="mathcomp.ssreflect.generic_quotient.html#repr"><span class="id" title="abbreviation">repr</span></a> (<a class="idref" href="mathcomp.ssreflect.generic_quotient.html#3337bf2cd4a8dc684c396fc9814b46a9"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#3337bf2cd4a8dc684c396fc9814b46a9"><span class="id" title="notation">pi_</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#3337bf2cd4a8dc684c396fc9814b46a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#3337bf2cd4a8dc684c396fc9814b46a9"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#SubFieldExtension.iotaFz"><span class="id" title="variable">iotaFz</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext0"><span class="id" title="definition">subfext0</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_cst"><span class="id" title="abbreviation">lift_cst</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> 0.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext0_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiConst"><span class="id" title="abbreviation">PiConst</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext0"><span class="id" title="definition">subfext0</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_add"><span class="id" title="definition">subfext_add</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_op2"><span class="id" title="abbreviation">lift_op2</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</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/> -<span class="id" title="keyword">Fact</span> <a name="pi_subfext_add"><span class="id" title="lemma">pi_subfext_add</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.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">pi</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.field.fieldext.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.field.fieldext.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_add"><span class="id" title="definition">subfext_add</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.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>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pi_subfx_add_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiMorph2"><span class="id" title="abbreviation">PiMorph2</span></a> <a class="idref" href="mathcomp.field.fieldext.html#pi_subfext_add"><span class="id" title="lemma">pi_subfext_add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_opp"><span class="id" title="definition">subfext_opp</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_op1"><span class="id" title="abbreviation">lift_op1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a8ac36d488c8d5cdcfec5adcde894e5f"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a8ac36d488c8d5cdcfec5adcde894e5f"><span class="id" title="notation">R</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="pi_subfext_opp"><span class="id" title="lemma">pi_subfext_opp</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">{</span></a><a class="idref" href="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.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">pi</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">x</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#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.fieldext.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#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_opp"><span class="id" title="definition">subfext_opp</span></a> <a class="idref" href="mathcomp.field.fieldext.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#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pi_subfext_opp_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiMorph1"><span class="id" title="abbreviation">PiMorph1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#pi_subfext_opp"><span class="id" title="lemma">pi_subfext_opp</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="addfxA"><span class="id" title="lemma">addfxA</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.field.fieldext.html#subfext_add"><span class="id" title="definition">subfext_add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="addfxC"><span class="id" title="lemma">addfxC</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.field.fieldext.html#subfext_add"><span class="id" title="definition">subfext_add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="add0fx"><span class="id" title="lemma">add0fx</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.field.fieldext.html#subfext0"><span class="id" title="definition">subfext0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_add"><span class="id" title="definition">subfext_add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="addfxN"><span class="id" title="lemma">addfxN</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.field.fieldext.html#subfext0"><span class="id" title="definition">subfext0</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_opp"><span class="id" title="definition">subfext_opp</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_add"><span class="id" title="definition">subfext_add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_zmodMixin"><span class="id" title="definition">subfext_zmodMixin</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.field.fieldext.html#addfxA"><span class="id" title="lemma">addfxA</span></a> <a class="idref" href="mathcomp.field.fieldext.html#addfxC"><span class="id" title="lemma">addfxC</span></a> <a class="idref" href="mathcomp.field.fieldext.html#add0fx"><span class="id" title="lemma">add0fx</span></a> <a class="idref" href="mathcomp.field.fieldext.html#addfxN"><span class="id" title="lemma">addfxN</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_zmodType</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_zmodMixin"><span class="id" title="definition">subfext_zmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.poly_rV_modp_K"><span class="id" title="variable">poly_rV_modp_K</span></a> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.algebra.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</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.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_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.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.iotaPz_modp"><span class="id" title="variable">iotaPz_modp</span></a> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_mul_rep"><span class="id" title="definition">subfx_mul_rep</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_n</span></a>) : <a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_n</span></a> :=<br/> - <a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</span></a> <a class="idref" href="mathcomp.field.fieldext.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#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.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</span></a> <a class="idref" href="mathcomp.field.fieldext.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.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_mul"><span class="id" title="definition">subfext_mul</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_op2"><span class="id" title="abbreviation">lift_op2</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_mul_rep"><span class="id" title="definition">subfx_mul_rep</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="pi_subfext_mul"><span class="id" title="lemma">pi_subfext_mul</span></a> :<br/> - <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.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">pi</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.field.fieldext.html#subfx_mul_rep"><span class="id" title="definition">subfx_mul_rep</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_mul"><span class="id" title="definition">subfext_mul</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.field.fieldext.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>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pi_subfext_mul_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiMorph2"><span class="id" title="abbreviation">PiMorph2</span></a> <a class="idref" href="mathcomp.field.fieldext.html#pi_subfext_mul"><span class="id" title="lemma">pi_subfext_mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext1"><span class="id" title="definition">subfext1</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_cst"><span class="id" title="abbreviation">lift_cst</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> 1).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext1_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiConst"><span class="id" title="abbreviation">PiConst</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext1"><span class="id" title="definition">subfext1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="mulfxA"><span class="id" title="lemma">mulfxA</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.field.fieldext.html#subfext_mul"><span class="id" title="definition">subfext_mul</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="mulfxC"><span class="id" title="lemma">mulfxC</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.field.fieldext.html#subfext_mul"><span class="id" title="definition">subfext_mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="mul1fx"><span class="id" title="lemma">mul1fx</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.field.fieldext.html#subfext1"><span class="id" title="definition">subfext1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_mul"><span class="id" title="definition">subfext_mul</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="mulfx_addl"><span class="id" title="lemma">mulfx_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.field.fieldext.html#subfext_mul"><span class="id" title="definition">subfext_mul</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_add"><span class="id" title="definition">subfext_add</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="nonzero1fx"><span class="id" title="lemma">nonzero1fx</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#subfext1"><span class="id" title="definition">subfext1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext0"><span class="id" title="definition">subfext0</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_comRingMixin"><span class="id" title="definition">subfext_comRingMixin</span></a> :=<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingMixin"><span class="id" title="abbreviation">ComRingMixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#mulfxA"><span class="id" title="lemma">mulfxA</span></a> <a class="idref" href="mathcomp.field.fieldext.html#mulfxC"><span class="id" title="lemma">mulfxC</span></a> <a class="idref" href="mathcomp.field.fieldext.html#mul1fx"><span class="id" title="lemma">mul1fx</span></a> <a class="idref" href="mathcomp.field.fieldext.html#mulfx_addl"><span class="id" title="lemma">mulfx_addl</span></a> <a class="idref" href="mathcomp.field.fieldext.html#nonzero1fx"><span class="id" title="lemma">nonzero1fx</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_Ring</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_comRingMixin"><span class="id" title="definition">subfext_comRingMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_comRing</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#mulfxC"><span class="id" title="lemma">mulfxC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_poly_inv"><span class="id" title="definition">subfx_poly_inv</span></a> (<span class="id" title="var">q</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a><br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">r</span> := <a class="idref" href="mathcomp.algebra.polydiv.html#Pdiv.Field.gdcop"><span class="id" title="definition">gdcop</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a> <span class="id" title="tactic">in</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#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <span class="id" title="var">v</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.polydiv.html#Pdiv.Field.egcdp"><span class="id" title="definition">egcdp</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.field.fieldext.html#r"><span class="id" title="variable">r</span></a> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">(</span></a><span class="id" title="var">u</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <span class="id" title="var">v</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_0</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">)^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <span class="id" title="var">u</span>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.subfx_poly_invE"><span class="id" title="variable">subfx_poly_invE</span></a> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#subfx_poly_inv"><span class="id" title="definition">subfx_poly_inv</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.fieldext.html#iotaPz"><span class="id" title="abbreviation">iotaPz</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">)^-1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_inv_rep"><span class="id" title="definition">subfx_inv_rep</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_n</span></a>) : <a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_n</span></a> :=<br/> - <a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#subfx_poly_inv"><span class="id" title="definition">subfx_poly_inv</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_inv"><span class="id" title="definition">subfext_inv</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_op1"><span class="id" title="abbreviation">lift_op1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inv_rep"><span class="id" title="definition">subfx_inv_rep</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="pi_subfext_inv"><span class="id" title="lemma">pi_subfext_inv</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">{</span></a><a class="idref" href="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.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.generic_quotient.html#c3fdc30b5d212c820acf98356210d6f7"><span class="id" title="notation">pi</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">x</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.field.fieldext.html#subfx_inv_rep"><span class="id" title="definition">subfx_inv_rep</span></a> <a class="idref" href="mathcomp.field.fieldext.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#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_inv"><span class="id" title="definition">subfext_inv</span></a> <a class="idref" href="mathcomp.field.fieldext.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#8bf6fdbe8b0c22b67e58fa5cd9937190"><span class="id" title="notation">}</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pi_subfext_inv_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiMorph1"><span class="id" title="abbreviation">PiMorph1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#pi_subfext_inv"><span class="id" title="lemma">pi_subfext_inv</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="subfx_fieldAxiom"><span class="id" title="lemma">subfx_fieldAxiom</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.axiom"><span class="id" title="definition">GRing.Field.axiom</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#subfext_inv"><span class="id" title="definition">subfext_inv</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.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="subfx_inv0"><span class="id" title="lemma">subfx_inv0</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#subfext_inv"><span class="id" title="definition">subfext_inv</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.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.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>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.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a><a 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">Definition</span> <a name="subfext_unitRingMixin"><span class="id" title="definition">subfext_unitRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldUnitMixin"><span class="id" title="abbreviation">FieldUnitMixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_fieldAxiom"><span class="id" title="lemma">subfx_fieldAxiom</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inv0"><span class="id" title="lemma">subfx_inv0</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_unitRingType</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_unitRingMixin"><span class="id" title="definition">subfext_unitRingMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_comUnitRing</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#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.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2dfeb3fb2088b370ad93742d4f23a0dc"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_fieldMixin"><span class="id" title="definition">subfext_fieldMixin</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldMixin"><span class="id" title="abbreviation">FieldMixin</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.fieldext.html#subfx_fieldAxiom"><span class="id" title="lemma">subfx_fieldAxiom</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inv0"><span class="id" title="lemma">subfx_inv0</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subfext_idomainMixin"><span class="id" title="definition">subfext_idomainMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldIdomainMixin"><span class="id" title="abbreviation">FieldIdomainMixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_fieldMixin"><span class="id" title="definition">subfext_fieldMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_idomainType</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_idomainMixin"><span class="id" title="definition">subfext_idomainMixin</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_fieldType</span> :=<br/> - <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfext_fieldMixin"><span class="id" title="definition">subfext_fieldMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="subfx_inj_is_rmorphism"><span class="id" title="lemma">subfx_inj_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_inj_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj_is_rmorphism"><span class="id" title="lemma">subfx_inj_is_rmorphism</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_inj_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj_is_rmorphism"><span class="id" title="lemma">subfx_inj_is_rmorphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_eval"><span class="id" title="definition">subfx_eval</span></a> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#lift_embed"><span class="id" title="abbreviation">lift_embed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">q</span> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#d8832071e7663562cc14f17c6edf99dc"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p0"><span class="id" title="variable">p0</span></a>)).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_eval_morph</span> := <a class="idref" href="mathcomp.ssreflect.generic_quotient.html#PiEmbed"><span class="id" title="abbreviation">PiEmbed</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_root"><span class="id" title="definition">subfx_root</span></a> := <a class="idref" href="mathcomp.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</span></a> <a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#dc2ed3a32abac1baa27cfc93ddc4e844"><span class="id" title="notation">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfx_eval_is_rmorphism"><span class="id" title="lemma">subfx_eval_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_eval_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_eval_is_rmorphism"><span class="id" title="lemma">subfx_eval_is_rmorphism</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_eval_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_eval_is_rmorphism"><span class="id" title="lemma">subfx_eval_is_rmorphism</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="inj_subfx"><span class="id" title="definition">inj_subfx</span></a> := (<a class="idref" href="mathcomp.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</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.poly.html#polyC"><span class="id" title="definition">polyC</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">inj_subfx_addidive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">additive</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#inj_subfx"><span class="id" title="definition">inj_subfx</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1f39c3338430de1e4f0dd19d42cfade9"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">inj_subfx_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#inj_subfx"><span class="id" title="definition">inj_subfx</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f59994a9f1c6ff43f3de0a3cea89bb6b"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfxE"><span class="id" title="lemma">subfxE</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> <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.field.fieldext.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.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subfx_scale"><span class="id" title="definition">subfx_scale</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.field.fieldext.html#inj_subfx"><span class="id" title="definition">inj_subfx</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#x"><span class="id" title="variable">x</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="subfx_scalerA"><span class="id" title="lemma">subfx_scalerA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.field.fieldext.html#subfx_scale"><span class="id" title="definition">subfx_scale</span></a> <a class="idref" href="mathcomp.field.fieldext.html#a"><span class="id" title="variable">a</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#subfx_scale"><span class="id" title="definition">subfx_scale</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#subfx_scale"><span class="id" title="definition">subfx_scale</span></a> (<a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#b"><span class="id" title="variable">b</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="subfx_scaler1r"><span class="id" title="lemma">subfx_scaler1r</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.field.fieldext.html#subfx_scale"><span class="id" title="definition">subfx_scale</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="subfx_scalerDr"><span class="id" title="lemma">subfx_scalerDr</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.field.fieldext.html#subfx_scale"><span class="id" title="definition">subfx_scale</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/> - <span class="id" title="keyword">Fact</span> <a name="subfx_scalerDl"><span class="id" title="lemma">subfx_scalerDl</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#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.field.fieldext.html#subfx_scale"><span class="id" title="definition">subfx_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.field.fieldext.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#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.field.fieldext.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.field.fieldext.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/> - <span class="id" title="keyword">Definition</span> <a name="subfx_lmodMixin"><span class="id" title="definition">subfx_lmodMixin</span></a> :=<br/> - <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.field.fieldext.html#subfx_scalerA"><span class="id" title="lemma">subfx_scalerA</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_scaler1r"><span class="id" title="lemma">subfx_scaler1r</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_scalerDr"><span class="id" title="lemma">subfx_scalerDr</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_scalerDl"><span class="id" title="lemma">subfx_scalerDl</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_lmodMixin"><span class="id" title="definition">subfx_lmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="subfx_scaleAl"><span class="id" title="lemma">subfx_scaleAl</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.axiom"><span class="id" title="definition">GRing.Lalgebra.axiom</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.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a 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>).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_lalgType</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.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_scaleAl"><span class="id" title="lemma">subfx_scaleAl</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="subfx_scaleAr"><span class="id" title="lemma">subfx_scaleAr</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.axiom"><span class="id" title="definition">GRing.Algebra.axiom</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_lalgType"><span class="id" title="definition">subfx_lalgType</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_algType</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.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_scaleAr"><span class="id" title="lemma">subfx_scaleAr</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfext_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.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</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">Fact</span> <a name="subfx_evalZ"><span class="id" title="lemma">subfx_evalZ</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalable"><span class="id" title="abbreviation">scalable</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_eval_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_evalZ"><span class="id" title="lemma">subfx_evalZ</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subfx_eval_lrmorphism</span> := <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.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</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">Hypothesis</span> (<a name="SubFieldExtension.pz0"><span class="id" title="variable">pz0</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.z"><span class="id" title="variable">z</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SubFieldExtension.NonZero"><span class="id" title="section">NonZero</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="SubFieldExtension.NonZero.nz_p"><span class="id" title="variable">nz_p</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfx_inj_eval"><span class="id" title="lemma">subfx_inj_eval</span></a> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#subfx_eval"><span class="id" title="definition">subfx_eval</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">iota</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">.[</span></a><a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfx_inj_root"><span class="id" title="lemma">subfx_inj_root</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_root"><span class="id" title="definition">subfx_root</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.z"><span class="id" title="variable">z</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfx_injZ"><span class="id" title="lemma">subfx_injZ</span></a> <span class="id" title="var">b</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a> (<a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.fieldext.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.field.fieldext.html#SubFieldExtension.iota"><span class="id" title="variable">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a> <a class="idref" href="mathcomp.field.fieldext.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfx_inj_base"><span class="id" title="lemma">subfx_inj_base</span></a> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.field.fieldext.html#subfx_inj"><span class="id" title="definition">subfx_inj</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><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.field.fieldext.html#SubFieldExtension.iota"><span class="id" title="variable">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#b"><span class="id" title="variable">b</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfxEroot"><span class="id" title="lemma">subfxEroot</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">q</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.fieldext.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.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.field.fieldext.html#subfx_root"><span class="id" title="definition">subfx_root</span></a><a class="idref" href="mathcomp.algebra.poly.html#e4361ce58e4de0a4b9786d0011b61316"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subfx_irreducibleP"><span class="id" title="lemma">subfx_irreducibleP</span></a> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">q</span>, <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> <a class="idref" href="mathcomp.field.fieldext.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.field.fieldext.html#b90c6ceb09b006f6d3aeda21af2787b9"><span class="id" title="notation">iota</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.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.field.fieldext.html#q"><span class="id" title="variable">q</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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><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.field.fieldext.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#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> <a class="idref" href="mathcomp.algebra.polydiv.html#Pdiv.Field.irreducible_poly"><span class="id" title="definition">irreducible_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.NonZero"><span class="id" title="section">NonZero</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SubFieldExtension.Irreducible"><span class="id" title="section">Irreducible</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="SubFieldExtension.Irreducible.irr_p"><span class="id" title="variable">irr_p</span></a> : <a class="idref" href="mathcomp.algebra.polydiv.html#Pdiv.Field.irreducible_poly"><span class="id" title="definition">irreducible_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="SubFieldExtension.Irreducible.nz_p"><span class="id" title="variable">nz_p</span></a> : <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0. <br/> - -<br/> -</div> - -<div class="doc"> - The Vector axiom requires irreducibility. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="min_subfx_vectAxiom"><span class="id" title="lemma">min_subfx_vectAxiom</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><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.field.fieldext.html#SubFieldExtension.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">).-1</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subfx_lmodType"><span class="id" title="definition">subfx_lmodType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="SubfxVectMixin"><span class="id" title="definition">SubfxVectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.field.fieldext.html#min_subfx_vectAxiom"><span class="id" title="lemma">min_subfx_vectAxiom</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SubfxVectType"><span class="id" title="definition">SubfxVectType</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#subFExtend"><span class="id" title="definition">subFExtend</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubfxVectMixin"><span class="id" title="definition">SubfxVectMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SubfxFalgType"><span class="id" title="definition">SubfxFalgType</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">simpl</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubfxVectType"><span class="id" title="definition">SubfxVectType</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="SubFieldExtType"><span class="id" title="definition">SubFieldExtType</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">simpl</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.fieldext.html#SubfxFalgType"><span class="id" title="definition">SubfxFalgType</span></a><a class="idref" href="mathcomp.field.fieldext.html#702fe37861ef3c9032a715a749ac1ea7"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension.Irreducible"><span class="id" title="section">Irreducible</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.fieldext.html#SubFieldExtension"><span class="id" title="section">SubFieldExtension</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="irredp_FAdjoin"><span class="id" title="lemma">irredp_FAdjoin</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">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.polydiv.html#Pdiv.Field.irreducible_poly"><span class="id" title="definition">irreducible_poly</span></a> <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">{</span></a><span class="id" title="var">L</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.fieldext.html#fieldExtType"><span class="id" title="abbreviation">fieldExtType</span></a> <a class="idref" href="mathcomp.field.fieldext.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.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.fieldext.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.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.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><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.field.fieldext.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">).-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">&</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">z</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.poly.html#root"><span class="id" title="definition">root</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Theory.in_alg"><span class="id" title="abbreviation">in_alg</span></a> <a class="idref" href="mathcomp.field.fieldext.html#L"><span class="id" title="variable">L</span></a>) <a class="idref" href="mathcomp.field.fieldext.html#p"><span class="id" title="variable">p</span></a>) <a class="idref" href="mathcomp.field.fieldext.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.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation"><<</span></a>1<a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.fieldext.html#z"><span class="id" title="variable">z</span></a><a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</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.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#2d3f7aca3c5e595bced87000c0854440"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> -Coq 8.3 processes this shorter proof correctly, but then crashes on Qed. - In Coq 8.4 Qed takes about 18s. - In Coq 8.7, everything seems to be all right - -<div class="paragraph"> </div> - -Lemma Xirredp_FAdjoin' (F : fieldType) (p : {poly F}) : - irreducible_poly p -> - {L : fieldExtType F & Vector.dim L = (size p).-1 & - {z | root (map_poly (in_alg L) p) z & <tt>1; z</tt>%VS = fullv}}. -Proof. -case=> p_gt1 irr_p; set n := (size p).-1; pose vL := [vectType F of 'rV_n]. -have Dn: n.+1 = size p := ltn_predK p_gt1. -have nz_p: p != 0 by rewrite -size_poly_eq0 -Dn. -pose toL q : vL := poly_rV (q %% p). -have toL_K q : rVpoly (toL q) = q %% p. - by rewrite poly_rV_K // -ltnS Dn ?ltn_modp -?Dn. -pose mul (x y : vL) : vL := toL (rVpoly x * rVpoly y). -pose L1 : vL := poly_rV 1. -have L1K: rVpoly L1 = 1 by rewrite poly_rV_K // size_poly1 -ltnS Dn. -have mulC: commutative mul by rewrite /mul => x y; rewrite mulrC. -have mulA: associative mul. - by move=> x y z; rewrite -!(mulC z) /mul !toL_K /toL !modp_mul mulrCA. -have mul1: left_id L1 mul. - move=> x; rewrite /mul L1K mul1r /toL modp_small ?rVpolyK // -Dn ltnS. - by rewrite size_poly. -have mulD: left_distributive mul +%R. - move=> x y z; apply: canLR rVpolyK _. - by rewrite !raddfD mulrDl /= !toL_K /toL modp_add. -have nzL1: L1 != 0 by rewrite -(can_eq rVpolyK) L1K raddf0 oner_eq0. -pose mulM := ComRingMixin mulA mulC mul1 mulD nzL1. -pose rL := ComRingType (RingType vL mulM) mulC. -have mulZl: GRing.Lalgebra.axiom mul. - move=> a x y; apply: canRL rVpolyK _; rewrite !linearZ /= toL_K. - by rewrite -scalerAl modp_scalel. -have mulZr: @GRing.Algebra.axiom _ (LalgType F rL mulZl). - by move=> a x y; rewrite !(mulrC x) scalerAl. -pose aL := AlgType F _ mulZr; pose urL := FalgUnitRingType aL. -pose uaL := [unitAlgType F of AlgType F urL mulZr]. -pose faL := [FalgType F of uaL]. -have unitE: GRing.Field.mixin_of urL. - move=> x nz_x; apply/unitrP; set q := rVpoly x. - have nz_q: q != 0 by rewrite -(can_eq rVpolyK) raddf0 in nz_x. - have /Bezout_eq1_coprimepP[u upq1]: coprimep p q. - have /contraR := irr_p _ (dvdp_gcdl p q); apply. - have: size (gcdp p q) <= size q by apply: leq_gcdpr. - rewrite leqNgt; apply: contra; move/eqp_size ->. - by rewrite (polySpred nz_p) ltnS size_poly. - suffices: x * toL u.2 = 1 by exists (toL u.2); rewrite mulrC. - congr (poly_rV _); rewrite toL_K modp_mul mulrC (canRL (addKr _) upq1). - by rewrite -mulNr modp_addl_mul_small ?size_poly1. -pose ucrL := [comUnitRingType of ComRingType urL mulC]. -pose fL := FieldType (IdomainType ucrL (GRing.Field.IdomainMixin unitE)) unitE. -exists [fieldExtType F of faL for fL]; first exact: mul1n. -pose z : vL := toL 'X; set iota := in_alg _. -have q_z q: rVpoly (map_poly iota q). [z] = q %% p. - elim/poly_ind: q => [|a q IHq]. - by rewrite map_poly0 horner0 linear0 mod0p. - rewrite rmorphD rmorphM /= map_polyX map_polyC hornerMXaddC linearD /=. - rewrite linearZ /= L1K alg_polyC modp_add; congr (_ + _); last first. - by rewrite modp_small // size_polyC; case: (~~ _) => //; apply: ltnW. - by rewrite !toL_K IHq mulrC modp_mul mulrC modp_mul. -exists z; first by rewrite /root -(can_eq rVpolyK) q_z modpp linear0. -apply/vspaceP=> x; rewrite memvf; apply/Fadjoin_polyP. -exists (map_poly iota (rVpoly x)). - by apply/polyOverP=> i; rewrite coef_map memvZ ?mem1v. -by apply/(can_inj rVpolyK); rewrite q_z modp_small // -Dn ltnS size_poly. -Qed. - -</div> -<div class="code"> -</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 |
