aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.field.falgebra.html
diff options
context:
space:
mode:
authorEnrico Tassi2018-04-20 10:54:22 +0200
committerEnrico Tassi2018-04-20 10:54:22 +0200
commited05182cece6bb3706e09b2ce14af4a41a2e8141 (patch)
treee850d7314b6372d0476cf2ffaf7d3830721db7b1 /docs/htmldoc/mathcomp.field.falgebra.html
parent3d196f44681fb3b23ff8a79fbd44e12308680531 (diff)
generate the documentation for 1.7
Diffstat (limited to 'docs/htmldoc/mathcomp.field.falgebra.html')
-rw-r--r--docs/htmldoc/mathcomp.field.falgebra.html1048
1 files changed, 1048 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.field.falgebra.html b/docs/htmldoc/mathcomp.field.falgebra.html
new file mode 100644
index 0000000..fc41255
--- /dev/null
+++ b/docs/htmldoc/mathcomp.field.falgebra.html
@@ -0,0 +1,1048 @@
+<!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.falgebra</title>
+</head>
+
+<body>
+
+<div id="page">
+
+<div id="header">
+</div>
+
+<div id="main">
+
+<h1 class="libtitle">Library mathcomp.field.falgebra</h1>
+
+<div class="code">
+<span class="comment">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
+&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
+<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Finite dimensional free algebras, usually known as F-algebras.
+ FalgType K == the interface type for F-algebras over K; it simply
+ joins the unitAlgType K and vectType K interfaces.
+ [FalgType K of aT] == an FalgType K structure for a type aT that has both
+ unitAlgType K and vectType K canonical structures.
+ [FalgType K of aT for vT] == an FalgType K structure for a type aT with a
+ unitAlgType K canonical structure, given a structure
+ vT : vectType K whose lmodType K projection matches
+ the canonical lmodType for aT.
+ FalgUnitRingType T == a default unitRingType structure for a type T with
+ both algType and vectType structures.
+ Any aT with an FalgType structure inherits all the Vector, Ring and
+ Algebra operations, and supports the following additional operations:
+ \dim_A M == (\dim M %/ dim A)%N -- free module dimension.
+ amull u == the linear function v |-&gt; u * v, for u, v : aT.
+ amulr u == the linear function v |-&gt; v * u, for u, v : aT.
+ 1, f * g, f ^+ n == the identity function, the composite g \o f, the nth
+ iterate of f, for 1, f, g in 'End(aT). This is just
+ the usual F-algebra structure on 'End(aT). It is NOT
+ canonical by default, but can be activated by the
+ line Import FalgLfun. Beware also that (f^-1)%VF is
+ the linear function inverse, not the ring inverse of
+ f (though they do coincide when f is injective).
+ 1%VS == the line generated by 1 : aT.
+ (U * V)%VS == the smallest subspace of aT that contains all
+ products u * v for u in U, v in V.
+ (U ^+ n)%VS == (U * U * ... * U), n-times. U ^+ 0 = 1%VS
+ 'C[u]%VS == the centraliser subspace of the vector u.
+ 'C_U[v]%VS := (U :&amp;: 'C[v])%VS.
+ 'C(V)%VS == the centraliser subspace of the subspace V.
+ 'C_U(V)%VS := (U :&amp;: 'C(V))%VS.
+ 'Z(V)%VS == the center subspace of the subspace V.
+ agenv U == the smallest subalgebra containing U ^+ n for all n.
+ <tt>U; v</tt>%VS == agenv (U + &lt; [v]&gt;) (adjoin v to U).
+ <tt>U &amp; vs</tt>%VS == agenv (U + <tt>vs</tt>) (adjoin vs to U).
+ {aspace aT} == a subType of {vspace aT} consisting of sub-algebras
+ of aT (see below); for A : {aspace aT}, subvs_of A
+ has a canonical FalgType K structure.
+ is_aspace U &lt;=&gt; the characteristic predicate of {aspace aT} stating
+ that U is closed under product and contains an
+ identity element, := has_algid U &amp;&amp; (U * U &lt;= U)%VS.
+ algid A == the identity element of A : {aspace aT}, which need
+ not be equal to 1 (indeed, in a Wedderburn
+ decomposition it is not even a unit in aT).
+ is_algid U e &lt;-&gt; e : aT is an identity element for the subspace U:
+ e in U, e != 0 &amp; e * u = u * e = u for all u in U.
+ has_algid U &lt;=&gt; there is an e such that is_algid U e.
+ [aspace of U] == a clone of an existing {aspace aT} structure on
+ U : {vspace aT} (more instances of {aspace aT} will
+ be defined in extFieldType).
+ [aspace of U for A] == a clone of A : {aspace aT} for U : {vspace aT}.
+ 1%AS == the canonical sub-algebra 1%VS.
+ {:aT}%AS == the canonical full algebra.
+ <tt>U</tt>%AS == the canonical algebra for agenv U; note that this is
+ unrelated to <tt>vs</tt>%VS, the subspace spanned by vs.
+ <tt>U; v</tt>%AS == the canonical algebra for <tt>U; v</tt>%VS.
+ <tt>U &amp; vs</tt>%AS == the canonical algebra for <tt>U &amp; vs</tt>%VS.
+ ahom_in U f &lt;=&gt; f : 'Hom(aT, rT) is a multiplicative homomorphism
+ inside U, and in addition f 1 = 1 (even if U doesn't
+ contain 1). Note that f @: U need not be a
+ subalgebra when U is, as f could annilate U.
+ 'AHom(aT, rT) == the type of algebra homomorphisms from aT to rT,
+ where aT and rT ARE FalgType structures. Elements of
+ 'AHom(aT, rT) coerce to 'End(aT, rT) and aT -&gt; rT.
+&gt; Caveat: aT and rT must denote actual FalgType structures, not their
+ projections on Type.
+ 'AEnd(aT) == algebra endomorphisms of aT (:= 'AHom(aT, aT)).
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
+<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;{ 'aspace' T }" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'aspace' T }").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;&lt;&lt; U &amp; vs &gt;&gt;" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "&lt;&lt; U &amp; vs &gt;&gt;").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;&lt;&lt; U ; x &gt;&gt;" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "&lt;&lt; U ; x &gt;&gt;").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;''AHom' ( T , rT )"<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''AHom' ( T , rT )").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;''AEnd' ( T )" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''AEnd' ( T )").<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="dae424ad7f044660820953901eac75ab"><span class="id" title="notation">&quot;</span></a>\dim_ E V" := (<a class="idref" href="mathcomp.ssreflect.div.html#divn"><span class="id" title="definition">divn</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <span class="id" title="var">V</span>) (<a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <span class="id" title="var">E</span>))<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">E</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">V</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "\dim_ E V") : <span class="id" title="var">nat_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing.Theory</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Finite dimensional algebra
+</div>
+<div class="code">
+<span class="id" title="keyword">Module</span> <a name="Falgebra"><span class="id" title="module">Falgebra</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Supply a default unitRing mixin for the default unitAlgType base type.
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="Falgebra.DefaultBase"><span class="id" title="section">DefaultBase</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Falgebra.DefaultBase.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="Falgebra.DefaultBase.A"><span class="id" title="variable">A</span></a> : <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.falgebra.html#K"><span class="id" title="variable">K</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Falgebra.BaseMixin"><span class="id" title="lemma">BaseMixin</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.falgebra.html#Falgebra.DefaultBase.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.mixin_of"><span class="id" title="record">GRing.UnitRing.mixin_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.DefaultBase.A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.BaseType"><span class="id" title="definition">BaseType</span></a> <span class="id" title="var">T</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">c</span> <span class="id" title="var">vAm</span> &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c"><span class="id" title="variable">c</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Class"><span class="id" title="constructor">GRing.UnitRing.Class</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.BaseMixin"><span class="id" title="lemma">BaseMixin</span></a> <a class="idref" href="mathcomp.field.falgebra.html#vAm"><span class="id" title="variable">vAm</span></a>)) ⇒<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> (<span class="id" title="var">vT</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.DefaultBase.K"><span class="id" title="variable">K</span></a>) &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#vT"><span class="id" title="variable">vT</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">Vector.mixin</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Vector.class"><span class="id" title="definition">Vector.class</span></a> <a class="idref" href="mathcomp.field.falgebra.html#vT"><span class="id" title="variable">vT</span></a>)) <a class="idref" href="mathcomp.field.falgebra.html#vAm"><span class="id" title="variable">vAm</span></a> ⇒<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">GRing.UnitRing.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c"><span class="id" title="variable">c</span></a> <a class="idref" href="mathcomp.field.falgebra.html#T"><span class="id" title="variable">T</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.DefaultBase"><span class="id" title="section">DefaultBase</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Falgebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> <a name="Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Record</span> <a name="Falgebra.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">A</span> := <a name="Falgebra.Class"><span class="id" title="constructor">Class</span></a> {<br/>
+&nbsp;&nbsp;<a name="Falgebra.base1"><span class="id" title="projection">base1</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">GRing.UnitAlgebra.class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>;<br/>
+&nbsp;&nbsp;<a name="Falgebra.mixin"><span class="id" title="projection">mixin</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.algebra.ssralg.html#GRing.Lmodule.Pack"><span class="id" title="constructor">GRing.Lmodule.Pack</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.field.falgebra.html#base1"><span class="id" title="method">base1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>)<br/>
+}.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.base2"><span class="id" title="definition">base2</span></a> <span class="id" title="var">A</span> <span class="id" title="var">c</span> := @<a class="idref" href="mathcomp.algebra.vector.html#Vector.Class"><span class="id" title="constructor">Vector.Class</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> (@<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base1"><span class="id" title="projection">base1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c"><span class="id" title="variable">c</span></a>) (<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c"><span class="id" title="variable">c</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="Falgebra.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="Falgebra.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="Falgebra.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#sort"><span class="id" title="method">sort</span></a>; <span class="id" title="var">_</span> : <span class="id" title="keyword">Type</span>}.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="Falgebra.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#phR"><span class="id" title="variable">phR</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">_</span> <span class="id" title="var">c</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.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="Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">T</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.pack"><span class="id" title="definition">pack</span></a> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class"><span class="id" title="definition">GRing.UnitAlgebra.class</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#bT"><span class="id" title="variable">bT</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.field.falgebra.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">GRing.UnitAlgebra.class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.T"><span class="id" title="variable">T</span></a>) ⇒<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.class"><span class="id" title="definition">Vector.class</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#mT"><span class="id" title="variable">mT</span></a>) (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.Class"><span class="id" title="constructor">Vector.Class</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.falgebra.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.falgebra.html#m"><span class="id" title="variable">m</span></a>) ⇒<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Pack"><span class="id" title="constructor">Pack</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a>) (@<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.field.falgebra.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.field.falgebra.html#m"><span class="id" title="variable">m</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.T"><span class="id" title="variable">T</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.Zmodule.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.Lmodule.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.Ring.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.UnitRing.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.Algebra.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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">GRing.UnitAlgebra.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.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.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.cT"><span class="id" title="variable">cT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.vect_ringType"><span class="id" title="definition">vect_ringType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Pack"><span class="id" title="constructor">GRing.Ring.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.vect_unitRingType"><span class="id" title="definition">vect_unitRingType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Pack"><span class="id" title="constructor">GRing.UnitRing.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.vect_lalgType"><span class="id" title="definition">vect_lalgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Pack"><span class="id" title="constructor">GRing.Lalgebra.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.vect_algType"><span class="id" title="definition">vect_algType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Pack"><span class="id" title="constructor">GRing.Algebra.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="Falgebra.vect_unitAlgType"><span class="id" title="definition">vect_unitAlgType</span></a> := @<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.Pack"><span class="id" title="constructor">GRing.UnitAlgebra.Pack</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.xclass"><span class="id" title="abbreviation">xclass</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef.xT"><span class="id" title="variable">xT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="Falgebra.Exports"><span class="id" title="module">Exports</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base1"><span class="id" title="projection">base1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base1"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base1"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base1"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base1"><span class="id" title="projection">GRing.UnitAlgebra.class_of</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base2"><span class="id" title="definition">base2</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base2"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base2"><span class="id" title="definition">class_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base2"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.base2"><span class="id" title="definition">Vector.class_of</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.sort"><span class="id" title="projection">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.sort"><span class="id" title="projection">Sortclass</span></a>.<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.eqType"><span class="id" title="definition">eqType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.eqType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.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.falgebra.html#Falgebra.choiceType"><span class="id" title="definition">choiceType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.choiceType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.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.falgebra.html#Falgebra.zmodType"><span class="id" title="definition">zmodType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.zmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.zmodType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.lmodType"><span class="id" title="definition">lmodType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lmodType"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lmodType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lmodType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.ringType"><span class="id" title="definition">ringType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ringType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ringType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ringType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.ringType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.unitRingType"><span class="id" title="definition">unitRingType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitRingType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitRingType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitRingType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitRingType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.lalgType"><span class="id" title="definition">lalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lalgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lalgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lalgType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.lalgType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.algType"><span class="id" title="definition">algType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.algType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.algType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.algType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.algType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.unitAlgType"><span class="id" title="definition">unitAlgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitAlgType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitAlgType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitAlgType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.unitAlgType"><span class="id" title="definition">GRing.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.falgebra.html#Falgebra.vectType"><span class="id" title="definition">vectType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.vectType"><span class="id" title="definition">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.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">Canonical</span> <span class="id" title="var">vect_ringType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_unitRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_lalgType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_algType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vect_unitAlgType</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="Falgebra.Exports.FalgType"><span class="id" title="abbreviation">FalgType</span></a> <span class="id" title="var">R</span> := (<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.type"><span class="id" title="record">type</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/>
+<span class="id" title="keyword">Notation</span> <a name="3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">&quot;</span></a>[ 'FalgType' R 'of' A ]" := (@<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">A</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'FalgType' R 'of' A ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="bcfd974a09004a8a31fe2123e2a5e1bb"><span class="id" title="notation">&quot;</span></a>[ 'FalgType' R 'of' A 'for' vT ]" :=<br/>
+&nbsp;&nbsp;(@<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">A</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">vT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'FalgType' R 'of' A 'for' vT ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="Falgebra.Exports.FalgUnitRingType"><span class="id" title="abbreviation">FalgUnitRingType</span></a> <span class="id" title="var">T</span> := (@<a class="idref" href="mathcomp.field.falgebra.html#Falgebra.BaseType"><span class="id" title="definition">BaseType</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">T</span>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.Exports"><span class="id" title="module">Exports</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra"><span class="id" title="module">Falgebra</span></a>.<br/>
+<span class="id" title="keyword">Export</span> <span class="id" title="var">Falgebra.Exports</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="98fab332035705f9ef0f4b5749f33f83"><span class="id" title="notation">&quot;</span></a>1" := (<a class="idref" href="mathcomp.algebra.vector.html#vline"><span class="id" title="definition">vline</span></a> 1) : <span class="id" title="var">vspace_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">matrix_FalgType</span> (<span class="id" title="var">K</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">n</span> := <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_FalgType</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Exports.comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>) := <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="regular_fullv"><span class="id" title="lemma">regular_fullv</span></a> (<span class="id" title="var">K</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#fullv"><span class="id" title="definition">fullv</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c2b6ed6fbc6f0b41c6ad09005b7580b6"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><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="Proper"><span class="id" title="section">Proper</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Proper.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<a name="Proper.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#R"><span class="id" title="variable">R</span></a>).<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">Vector.InternalTheory</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="FalgType_proper"><span class="id" title="lemma">FalgType_proper</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Proper.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#Proper"><span class="id" title="section">Proper</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Module</span> <a name="FalgLfun"><span class="id" title="module">FalgLfun</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FalgLfun.FalgLfun"><span class="id" title="section">FalgLfun</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> (<a name="FalgLfun.FalgLfun.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.comRingType"><span class="id" title="abbreviation">comRingType</span></a>) (<a name="FalgLfun.FalgLfun.aT"><span class="id" title="variable">aT</span></a> : <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.falgebra.html#R"><span class="id" title="variable">R</span></a>).<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.FalgLfun.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_fun_ringType</span> := <a class="idref" href="mathcomp.algebra.vector.html#lfun_ringType"><span class="id" title="definition">lfun_ringType</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#FalgType_proper"><span class="id" title="lemma">FalgType_proper</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.FalgLfun.aT"><span class="id" title="variable">aT</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_fun_lalgType</span> := <a class="idref" href="mathcomp.algebra.vector.html#lfun_lalgType"><span class="id" title="definition">lfun_lalgType</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#FalgType_proper"><span class="id" title="lemma">FalgType_proper</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.FalgLfun.aT"><span class="id" title="variable">aT</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_fun_algType</span> := <a class="idref" href="mathcomp.algebra.vector.html#lfun_algType"><span class="id" title="definition">lfun_algType</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#FalgType_proper"><span class="id" title="lemma">FalgType_proper</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.FalgLfun.aT"><span class="id" title="variable">aT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="FalgLfun.lfun_mulE"><span class="id" title="lemma">lfun_mulE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">u</span> : (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>). <br/>
+<span class="id" title="keyword">Lemma</span> <a name="FalgLfun.lfun_compE"><span class="id" title="lemma">lfun_compE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#9ad88b19a9e5558beda973c77ca474da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#9ad88b19a9e5558beda973c77ca474da"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.FalgLfun"><span class="id" title="section">FalgLfun</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FalgLfun.InvLfun"><span class="id" title="section">InvLfun</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> (<a name="FalgLfun.InvLfun.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="FalgLfun.InvLfun.aT"><span class="id" title="variable">aT</span></a> : <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.falgebra.html#K"><span class="id" title="variable">K</span></a>).<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="FalgLfun.lfun_invr"><span class="id" title="definition">lfun_invr</span></a> <span class="id" title="var">f</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#517f88b2f002b4e1dbd5bb3edaded374"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="FalgLfun.lfun_mulVr"><span class="id" title="lemma">lfun_mulVr</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#517f88b2f002b4e1dbd5bb3edaded374"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="FalgLfun.lfun_mulrV"><span class="id" title="lemma">lfun_mulrV</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#517f88b2f002b4e1dbd5bb3edaded374"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="FalgLfun.lfun_mulRVr"><span class="id" title="lemma">lfun_mulRVr</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_invr"><span class="id" title="definition">lfun_invr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="FalgLfun.lfun_mulrRV"><span class="id" title="lemma">lfun_mulrRV</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_invr"><span class="id" title="definition">lfun_invr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="FalgLfun.lfun_unitrP"><span class="id" title="lemma">lfun_unitrP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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="FalgLfun.lfun_invr_out"><span class="id" title="lemma">lfun_invr_out</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_invr"><span class="id" title="definition">lfun_invr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="FalgLfun.lfun_unitRingMixin"><span class="id" title="definition">lfun_unitRingMixin</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingMixin"><span class="id" title="abbreviation">UnitRingMixin</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_mulRVr"><span class="id" title="lemma">lfun_mulRVr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_mulrRV"><span class="id" title="lemma">lfun_mulrRV</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_unitrP"><span class="id" title="lemma">lfun_unitrP</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_invr_out"><span class="id" title="lemma">lfun_invr_out</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_unitRingType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.lfun_unitRingMixin"><span class="id" title="definition">lfun_unitRingMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_unitAlgType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Falg_fun_FalgType</span> := <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="FalgLfun.lfun_invE"><span class="id" title="lemma">lfun_invE</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#517f88b2f002b4e1dbd5bb3edaded374"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun"><span class="id" title="section">InvLfun</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun"><span class="id" title="module">FalgLfun</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FalgebraTheory"><span class="id" title="section">FalgebraTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FalgebraTheory.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="FalgebraTheory.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</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> : <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">FalgLfun</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="amull"><span class="id" title="definition">amull</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#dbfd41b61868136f9bd14ed58d4b9f72"><span class="id" title="notation">\*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#dbfd41b61868136f9bd14ed58d4b9f72"><span class="id" title="notation">o</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="amulr"><span class="id" title="definition">amulr</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2977b5d91be916157fc34deec16772c"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f4e113db25747a3a9a6f5e6409de165e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4e113db25747a3a9a6f5e6409de165e"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f4e113db25747a3a9a6f5e6409de165e"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cc5a9586eb997be35b65ea12b2a985a9"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="amull_inj"><span class="id" title="lemma">amull_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="amulr_inj"><span class="id" title="lemma">amulr_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amulr"><span class="id" title="definition">amulr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="amull_is_linear"><span class="id" title="lemma">amull_is_linear</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.linear"><span class="id" title="abbreviation">linear</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">amull_additive</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.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull_is_linear"><span class="id" title="lemma">amull_is_linear</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">amull_linear</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.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull_is_linear"><span class="id" title="lemma">amull_is_linear</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ amull is a converse ring morphism
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="amull1"><span class="id" title="lemma">amull1</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#9c5859a8d2fadc014a07818a2f27d0e9"><span class="id" title="notation">\1</span></a>%<span class="id" title="var">VF</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="amullM"><span class="id" title="lemma">amullM</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">VF</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="amulr_is_lrmorphism"><span class="id" title="lemma">amulr_is_lrmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amulr"><span class="id" title="definition">amulr</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">amulr_additive</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.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amulr_is_lrmorphism"><span class="id" title="lemma">amulr_is_lrmorphism</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">amulr_linear</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.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amulr_is_lrmorphism"><span class="id" title="lemma">amulr_is_lrmorphism</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">amulr_rmorphism</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.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amulr_is_lrmorphism"><span class="id" title="lemma">amulr_is_lrmorphism</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">amulr_lrmorphism</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.LRMorphism.Exports.LRMorphism"><span class="id" title="abbreviation">LRMorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amulr_is_lrmorphism"><span class="id" title="lemma">amulr_is_lrmorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lker0_amull"><span class="id" title="lemma">lker0_amull</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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="lker0_amulr"><span class="id" title="lemma">lker0_amulr</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#amulr"><span class="id" title="definition">amulr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><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="lfun1_poly"><span class="id" title="lemma">lfun1_poly</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.poly.html#699040ddc0986f520cece215f531d947"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.algebra.vector.html#9c5859a8d2fadc014a07818a2f27d0e9"><span class="id" title="notation">\1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="mathcomp.field.falgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#p"><span class="id" title="variable">p</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="prodv_key"><span class="id" title="lemma">prodv_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="prodv"><span class="id" title="definition">prodv</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv_key"><span class="id" title="lemma">prodv_key</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> ⇒ <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#allpairs"><span class="id" title="definition">allpairs</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">R</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</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.falgebra.html#V"><span class="id" title="variable">V</span></a>)<a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">prodv_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memv_mul"><span class="id" title="lemma">memv_mul</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.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/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodvP"><span class="id" title="lemma">prodvP</span></a> {<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span>} :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodv_line"><span class="id" title="lemma">prodv_line</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dimv1"><span class="id" title="lemma">dimv1</span></a>: <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">(</span></a>1%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dim_prodv"><span class="id" title="lemma">dim_prodv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="vspace1_neq0"><span class="id" title="lemma">vspace1_neq0</span></a> : (1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><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="vbasis1"><span class="id" title="lemma">vbasis1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">k</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d54beaee78833d410cb3b1b3603748cc"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</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.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prod0v"><span class="id" title="lemma">prod0v</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodv0"><span class="id" title="lemma">prodv0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">prodv_muloid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.MulLaw"><span class="id" title="constructor">Monoid.MulLaw</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prod0v"><span class="id" title="lemma">prod0v</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv0"><span class="id" title="lemma">prodv0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prod1v"><span class="id" title="lemma">prod1v</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> 1%<span class="id" title="var">VS</span> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodv1"><span class="id" title="lemma">prodv1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> 1%<span class="id" title="var">VS</span> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodvS"><span class="id" title="lemma">prodvS</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V2"><span class="id" title="variable">V2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V2"><span class="id" title="variable">V2</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodvSl"><span class="id" title="lemma">prodvSl</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.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="prodvSr"><span class="id" title="lemma">prodvSr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> : (<a class="idref" href="mathcomp.field.falgebra.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V2"><span class="id" title="variable">V2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V2"><span class="id" title="variable">V2</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodvDl"><span class="id" title="lemma">prodvDl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodvDr"><span class="id" title="lemma">prodvDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addv_addoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.AddLaw"><span class="id" title="constructor">Monoid.AddLaw</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodvDl"><span class="id" title="lemma">prodvDl</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodvDr"><span class="id" title="lemma">prodvDr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodvA"><span class="id" title="lemma">prodvA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">prodv_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Monoid.Law</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodvA"><span class="id" title="lemma">prodvA</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prod1v"><span class="id" title="lemma">prod1v</span></a> <a class="idref" href="mathcomp.field.falgebra.html#prodv1"><span class="id" title="lemma">prodv1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="expv"><span class="id" title="definition">expv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iterop"><span class="id" title="definition">iterop</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</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.falgebra.html#U"><span class="id" title="variable">U</span></a> 1%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv0"><span class="id" title="lemma">expv0</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1)%<span class="id" title="var">VS</span>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv1"><span class="id" title="lemma">expv1</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv2"><span class="id" title="lemma">expv2</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.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="expvSl"><span class="id" title="lemma">expvSl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv0n"><span class="id" title="lemma">expv0n</span></a> <span class="id" title="var">n</span> : (0 <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">is</span> <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <span class="id" title="keyword">then</span> 0 <span class="id" title="keyword">else</span> 1)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv1n"><span class="id" title="lemma">expv1n</span></a> <span class="id" title="var">n</span> : (1 <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expvD"><span class="id" title="lemma">expvD</span></a> <span class="id" title="var">U</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expvSr"><span class="id" title="lemma">expvSr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.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="expvM"><span class="id" title="lemma">expvM</span></a> <span class="id" title="var">U</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expvS"><span class="id" title="lemma">expvS</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv_line"><span class="id" title="lemma">expv_line</span></a> <span class="id" title="var">u</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#21d8f2654a27422064fa906a038e93e4"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Centralisers and centers.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="centraliser1_vspace"><span class="id" title="definition">centraliser1_vspace</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#amulr"><span class="id" title="definition">amulr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.falgebra.html#amull"><span class="id" title="definition">amull</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="centraliser_vspace"><span class="id" title="definition">centraliser_vspace</span></a> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.vector.html#dd40ab226983f07c4a30bcbf3757587f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#dd40ab226983f07c4a30bcbf3757587f"><span class="id" title="notation">bigcap_i</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><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.falgebra.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">VS</span>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="center_vspace"><span class="id" title="definition">center_vspace</span></a> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#585f47de65e0d6c6ecedb971203eafab"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><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="cent1vP"><span class="id" title="lemma">cent1vP</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><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="cent1v1"><span class="id" title="lemma">cent1v1</span></a> <span class="id" title="var">u</span> : 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">]</span></a>%<span class="id" title="var">VS</span>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent1v_id"><span class="id" title="lemma">cent1v_id</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">]</span></a>%<span class="id" title="var">VS</span>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent1vX"><span class="id" title="lemma">cent1vX</span></a> <span class="id" title="var">u</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">]</span></a>%<span class="id" title="var">VS</span>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent1vC"><span class="id" title="lemma">cent1vC</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><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="centvP"><span class="id" title="lemma">centvP</span></a> <span class="id" title="var">u</span> <span class="id" title="var">V</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VS</span>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="centvsP"><span class="id" title="lemma">centvsP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><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="subv_cent1"><span class="id" title="lemma">subv_cent1</span></a> <span class="id" title="var">U</span> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.field.falgebra.html#31433815c4b94767dc54e5ea54a78836"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="centv1"><span class="id" title="lemma">centv1</span></a> <span class="id" title="var">V</span> : 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span>.<br/>
+ <span class="id" title="keyword">Lemma</span> <a name="centvX"><span class="id" title="lemma">centvX</span></a> <span class="id" title="var">V</span> <span class="id" title="var">u</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span>.<br/>
+ <span class="id" title="keyword">Lemma</span> <a name="centvC"><span class="id" title="lemma">centvC</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><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="centerv_sub"><span class="id" title="lemma">centerv_sub</span></a> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_centerv"><span class="id" title="lemma">cent_centerv</span></a> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#7902c4a8ff2316fb35d6d0c2ed7d11ae"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.field.falgebra.html#cbd9ee36d93894e7e70e23c2d488b443"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Building the predicate that checks is a vspace has a unit
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="is_algid"><span class="id" title="definition">is_algid</span></a> <span class="id" title="var">e</span> <span class="id" title="var">U</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span>, <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="algid_decidable"><span class="id" title="lemma">algid_decidable</span></a> <span class="id" title="var">U</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#decidable"><span class="id" title="definition">decidable</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">e</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#is_algid"><span class="id" title="definition">is_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="has_algid"><span class="id" title="definition">has_algid</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.field.falgebra.html#algid_decidable"><span class="id" title="lemma">algid_decidable</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="has_algidP"><span class="id" title="lemma">has_algidP</span></a> {<span class="id" title="var">U</span>} : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">e</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#is_algid"><span class="id" title="definition">is_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="mathcomp.field.falgebra.html#has_algid"><span class="id" title="definition">has_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="has_algid1"><span class="id" title="lemma">has_algid1</span></a> <span class="id" title="var">U</span> : 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#has_algid"><span class="id" title="definition">has_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="is_aspace"><span class="id" title="definition">is_aspace</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.field.falgebra.html#has_algid"><span class="id" title="definition">has_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e27d7b49f0f266dd87f31a2700ab99c7"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span>.<br/>
+<span class="id" title="keyword">Structure</span> <a name="aspace"><span class="id" title="record">aspace</span></a> := <a name="ASpace"><span class="id" title="constructor">ASpace</span></a> {<a name="asval"><span class="id" title="projection">asval</span></a> :&gt; <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>; <span class="id" title="var">_</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.falgebra.html#asval"><span class="id" title="method">asval</span></a>}.<br/>
+<span class="id" title="keyword">Definition</span> <a name="aspace_of"><span class="id" title="definition">aspace_of</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a> := <a class="idref" href="mathcomp.field.falgebra.html#aspace"><span class="id" title="record">aspace</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.field.falgebra.html#asval"><span class="id" title="projection">asval</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="aspace_eqMixin"><span class="id" title="definition">aspace_eqMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aspace"><span class="id" title="record">aspace</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aspace"><span class="id" title="record">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aspace_eqMixin"><span class="id" title="definition">aspace_eqMixin</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="aspace_choiceMixin"><span class="id" title="definition">aspace_choiceMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aspace"><span class="id" title="record">aspace</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aspace"><span class="id" title="record">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aspace_choiceMixin"><span class="id" title="definition">aspace_choiceMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_of_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#6645671e2203a23d135a621a3cf0157c"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_of_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#cb062fd562aed512787df99359c6e3f2"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace_of_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#1731a28227324c9e5fc49499029635b3"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="clone_aspace"><span class="id" title="definition">clone_aspace</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">}</span></a>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">algU</span> &amp; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#algU"><span class="id" title="variable">algU</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</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.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#algU"><span class="id" title="variable">algU</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="aspace1_subproof"><span class="id" title="lemma">aspace1_subproof</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> 1.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspace1</span> : <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><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.falgebra.html#aspace1_subproof"><span class="id" title="lemma">aspace1_subproof</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="aspacef_subproof"><span class="id" title="lemma">aspacef_subproof</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.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">aspacef</span> : <a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#22fc78a071967cb498292883560bf256"><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.falgebra.html#aspacef_subproof"><span class="id" title="lemma">aspacef_subproof</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="polyOver1P"><span class="id" title="lemma">polyOver1P</span></a> <span class="id" title="var">p</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.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.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#q"><span class="id" title="variable">q</span></a>) (<a class="idref" href="mathcomp.field.falgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> 1%<span class="id" title="var">VS</span>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory"><span class="id" title="section">FalgebraTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">aspace_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">AS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">&quot;</span></a>{ 'aspace' T }" := (<a class="idref" href="mathcomp.field.falgebra.html#aspace_of"><span class="id" title="definition">aspace_of</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">T</span>)) : <span class="id" title="var">type_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">&quot;</span></a>A * B" := (<a class="idref" href="mathcomp.field.falgebra.html#prodv"><span class="id" title="definition">prodv</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">&quot;</span></a>A ^+ n" := (<a class="idref" href="mathcomp.field.falgebra.html#expv"><span class="id" title="definition">expv</span></a> <span class="id" title="var">A</span> <span class="id" title="var">n</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">&quot;</span></a>'C [ u ]" := (<a class="idref" href="mathcomp.field.falgebra.html#centraliser1_vspace"><span class="id" title="definition">centraliser1_vspace</span></a> <span class="id" title="var">u</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b43eef3b30668d2735c70d08705123fe"><span class="id" title="notation">&quot;</span></a>'C_ U [ v ]" := (<a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">[</span></a><span class="id" title="var">v</span><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">]</span></a>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c019dca49ab13c8cfadad15196c45304"><span class="id" title="notation">&quot;</span></a>'C_ ( U ) [ v ]" := (<a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">[</span></a><span class="id" title="var">v</span><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">]</span></a>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">&quot;</span></a>'C ( V )" := (<a class="idref" href="mathcomp.field.falgebra.html#centraliser_vspace"><span class="id" title="definition">centraliser_vspace</span></a> <span class="id" title="var">V</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9f87e2eba3c2a2ca817b9271c317573e"><span class="id" title="notation">&quot;</span></a>'C_ U ( V )" := (<a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">(</span></a><span class="id" title="var">V</span><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">)</span></a>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="cb1f8c78fa1c4d1bbab3e75249c57468"><span class="id" title="notation">&quot;</span></a>'C_ ( U ) ( V )" := (<a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">(</span></a><span class="id" title="var">V</span><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">&quot;</span></a>'Z ( V )" := (<a class="idref" href="mathcomp.field.falgebra.html#center_vspace"><span class="id" title="definition">center_vspace</span></a> <span class="id" title="var">V</span>) : <span class="id" title="var">vspace_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="36dbea000121cf716254b19e50fe6a10"><span class="id" title="notation">&quot;</span></a>1" := (<a class="idref" href="mathcomp.field.falgebra.html#aspace1"><span class="id" title="definition">aspace1</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">aspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="01d86ec2078736e3ce7bc0480c67a2f3"><span class="id" title="notation">&quot;</span></a>{ : aT }" := (<a class="idref" href="mathcomp.field.falgebra.html#aspacef"><span class="id" title="definition">aspacef</span></a> <span class="id" title="var">aT</span>) : <span class="id" title="var">aspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a27a7bbe891874a9e33d55aa952a0432"><span class="id" title="notation">&quot;</span></a>[ 'aspace' 'of' U ]" := (@<a class="idref" href="mathcomp.field.falgebra.html#clone_aspace"><span class="id" title="definition">clone_aspace</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">U</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'aspace' 'of' U ]") : <span class="id" title="var">form_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="250417d7043ecd78b0b911e9f973ae78"><span class="id" title="notation">&quot;</span></a>[ 'aspace' 'of' U 'for' A ]" := (@<a class="idref" href="mathcomp.field.falgebra.html#clone_aspace"><span class="id" title="definition">clone_aspace</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">U</span> <span class="id" title="var">A</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'aspace' 'of' U 'for' A ]") : <span class="id" title="var">form_scope</span>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="AspaceTheory"><span class="id" title="section">AspaceTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="AspaceTheory.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="AspaceTheory.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</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">e</span> : <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><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="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">FalgLfun</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="algid_subproof"><span class="id" title="lemma">algid_subproof</span></a> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">e</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#has_algid"><span class="id" title="definition">has_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#3b17cb5f3a16fa64a62421f68786f750"><span class="id" title="notation">==&gt;</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><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.falgebra.html#amull"><span class="id" title="definition">amull</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="mathcomp.algebra.vector.html#585f47de65e0d6c6ecedb971203eafab"><span class="id" title="notation">:&amp;:</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.falgebra.html#amulr"><span class="id" title="definition">amulr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> 1))%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="algid"><span class="id" title="definition">algid</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#s2val"><span class="id" title="definition">s2val</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#algid_subproof"><span class="id" title="lemma">algid_subproof</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memv_algid"><span class="id" title="lemma">memv_algid</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="algidl"><span class="id" title="lemma">algidl</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="algidr"><span class="id" title="lemma">algidr</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#d5d4e2467843f67554f1a8a22d125de9"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="unitr_algid1"><span class="id" title="lemma">unitr_algid1</span></a> <span class="id" title="var">A</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="algid_eq1"><span class="id" title="lemma">algid_eq1</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="algid_neq0"><span class="id" title="lemma">algid_neq0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dim_algid"><span class="id" title="lemma">dim_algid</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adim_gt0"><span class="id" title="lemma">adim_gt0</span></a> <span class="id" title="var">A</span> : (0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="not_asubv0"><span class="id" title="lemma">not_asubv0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><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="adim1P"><span class="id" title="lemma">adim1P</span></a> {<span class="id" title="var">A</span>} : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">N</span>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="asubv"><span class="id" title="lemma">asubv</span></a> <span class="id" title="var">A</span> : (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memvM"><span class="id" title="lemma">memvM</span></a> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodv_id"><span class="id" title="lemma">prodv_id</span></a> <span class="id" title="var">A</span> : (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="prodv_sub"><span class="id" title="lemma">prodv_sub</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">A</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="expv_id"><span class="id" title="lemma">expv_id</span></a> <span class="id" title="var">A</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="limg_amulr"><span class="id" title="lemma">limg_amulr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.field.falgebra.html#amulr"><span class="id" title="definition">amulr</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memv_cosetP"><span class="id" title="lemma">memv_cosetP</span></a> {<span class="id" title="var">U</span> <span class="id" title="var">v</span> <span class="id" title="var">w</span>} :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a>) (<a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dim_cosetv_unit"><span class="id" title="lemma">dim_cosetv_unit</span></a> <span class="id" title="var">V</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memvV"><span class="id" title="lemma">memvV</span></a> <span class="id" title="var">A</span> <span class="id" title="var">u</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="aspace_cap_subproof"><span class="id" title="lemma">aspace_cap_subproof</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.vector.html#585f47de65e0d6c6ecedb971203eafab"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#B"><span class="id" title="variable">B</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="aspace_cap"><span class="id" title="definition">aspace_cap</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">BeA</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (@<a class="idref" href="mathcomp.field.falgebra.html#aspace_cap_subproof"><span class="id" title="lemma">aspace_cap_subproof</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.field.falgebra.html#BeA"><span class="id" title="variable">BeA</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="centraliser1_is_aspace"><span class="id" title="lemma">centraliser1_is_aspace</span></a> <span class="id" title="var">u</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.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.field.falgebra.html#6607b93775b70c70d11edc1017831e2c"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">centraliser1_aspace</span> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#centraliser1_is_aspace"><span class="id" title="lemma">centraliser1_is_aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="centraliser_is_aspace"><span class="id" title="lemma">centraliser_is_aspace</span></a> <span class="id" title="var">V</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.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">)</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">centraliser_aspace</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#centraliser_is_aspace"><span class="id" title="lemma">centraliser_is_aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="centv_algid"><span class="id" title="lemma">centv_algid</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.field.falgebra.html#c4571a8dec3ed14fb45e6d062c36ed9b"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">center_aspace</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.field.falgebra.html#250417d7043ecd78b0b911e9f973ae78"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#250417d7043ecd78b0b911e9f973ae78"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#250417d7043ecd78b0b911e9f973ae78"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.falgebra.html#250417d7043ecd78b0b911e9f973ae78"><span class="id" title="notation">for</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.falgebra.html#centv_algid"><span class="id" title="lemma">centv_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>)<a class="idref" href="mathcomp.field.falgebra.html#250417d7043ecd78b0b911e9f973ae78"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="algid_center"><span class="id" title="lemma">algid_center</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.field.falgebra.html#6a0b36b4add4c591dcb1ab0a8b371bfa"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Falgebra_FieldMixin"><span class="id" title="lemma">Falgebra_FieldMixin</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.axiom"><span class="id" title="definition">GRing.IntegralDomain.axiom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">GRing.Field.mixin_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="AspaceTheory.SkewField"><span class="id" title="section">SkewField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="AspaceTheory.SkewField.fieldT"><span class="id" title="variable">fieldT</span></a> : <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.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="skew_field_algid1"><span class="id" title="lemma">skew_field_algid1</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.field.falgebra.html#algid"><span class="id" title="definition">algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="skew_field_module_semisimple"><span class="id" title="lemma">skew_field_module_semisimple</span></a> <span class="id" title="var">A</span> <span class="id" title="var">M</span> :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">sumA</span> <span class="id" title="var">X</span> := (<a class="idref" href="mathcomp.algebra.vector.html#a0cc109dcb3354cdc641c4ee52a2f4cb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#a0cc109dcb3354cdc641c4ee52a2f4cb"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#a0cc109dcb3354cdc641c4ee52a2f4cb"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.vector.html#a0cc109dcb3354cdc641c4ee52a2f4cb"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.field.falgebra.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#a0cc109dcb3354cdc641c4ee52a2f4cb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>)%<span class="id" title="var">VS</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">{</span></a><span class="id" title="var">X</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.falgebra.html#sumA"><span class="id" title="variable">sumA</span></a> <a class="idref" href="mathcomp.field.falgebra.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><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.falgebra.html#sumA"><span class="id" title="variable">sumA</span></a> <a class="idref" href="mathcomp.field.falgebra.html#X"><span class="id" title="variable">X</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ad6d23746eb1a3b62e52010d3945a1db"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.field.falgebra.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#5b63cb9ed0fed82566685c66e56592e4"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="skew_field_module_dimS"><span class="id" title="lemma">skew_field_module_dimS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">M</span> : (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.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/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="skew_field_dimS"><span class="id" title="lemma">skew_field_dimS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#aa34fd1c61c5cf0a3356b624a5d2afed"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.SkewField"><span class="id" title="section">SkewField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory"><span class="id" title="section">AspaceTheory</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Note that local centraliser might not be proper sub-algebras.
+</div>
+<div class="code">
+<span class="id" title="keyword">Notation</span> <a name="6185188cce610ec48c6a5e20cba7b32c"><span class="id" title="notation">&quot;</span></a>'C [ u ]" := (<a class="idref" href="mathcomp.field.falgebra.html#centraliser1_aspace"><span class="id" title="definition">centraliser1_aspace</span></a> <span class="id" title="var">u</span>) : <span class="id" title="var">aspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a46ca76cdf53642a5d54130c398d3525"><span class="id" title="notation">&quot;</span></a>'C ( V )" := (<a class="idref" href="mathcomp.field.falgebra.html#centraliser_aspace"><span class="id" title="definition">centraliser_aspace</span></a> <span class="id" title="var">V</span>) : <span class="id" title="var">aspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="c4a76b3b379fcce1145c4ab47232f629"><span class="id" title="notation">&quot;</span></a>'Z ( A )" := (<a class="idref" href="mathcomp.field.falgebra.html#center_aspace"><span class="id" title="definition">center_aspace</span></a> <span class="id" title="var">A</span>) : <span class="id" title="var">aspace_scope</span>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="Closure"><span class="id" title="section">Closure</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="Closure.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="Closure.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</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> : <a class="idref" href="mathcomp.field.falgebra.html#Closure.aT"><span class="id" title="variable">aT</span></a>) (<span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Closure.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Subspaces of an F-algebra form a Kleene algebra
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="agenv"><span class="id" title="definition">agenv</span></a> <span class="id" title="var">U</span> := (<a class="idref" href="mathcomp.algebra.vector.html#c590ac35f1a5b43781169f103c46d6e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#c590ac35f1a5b43781169f103c46d6e5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#c590ac35f1a5b43781169f103c46d6e5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#c590ac35f1a5b43781169f103c46d6e5"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ee35a6780ccd60155a3be89dcb5fdb30"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.falgebra.html#Closure.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.algebra.vector.html#c590ac35f1a5b43781169f103c46d6e5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="agenvEl"><span class="id" title="lemma">agenvEl</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (1 <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenvEr"><span class="id" title="lemma">agenvEr</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (1 <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenv_modl"><span class="id" title="lemma">agenv_modl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenv_modr"><span class="id" title="lemma">agenv_modr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="agenv_is_aspace"><span class="id" title="lemma">agenv_is_aspace</span></a> <span class="id" title="var">U</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.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">agenv_aspace</span> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Closure.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><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.falgebra.html#agenv_is_aspace"><span class="id" title="lemma">agenv_is_aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="agenvE"><span class="id" title="lemma">agenvE</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv_aspace"><span class="id" title="definition">agenv_aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>. <br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Kleene algebra properties
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="agenvM"><span class="id" title="lemma">agenvM</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="agenvX"><span class="id" title="lemma">agenvX</span></a> <span class="id" title="var">n</span> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub1_agenv"><span class="id" title="lemma">sub1_agenv</span></a> <span class="id" title="var">U</span> : (1 <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.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="sub_agenv"><span class="id" title="lemma">sub_agenv</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.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="subX_agenv"><span class="id" title="lemma">subX_agenv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenv_sub_modl"><span class="id" title="lemma">agenv_sub_modl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (1 <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenv_sub_modr"><span class="id" title="lemma">agenv_sub_modr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (1 <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenv_id"><span class="id" title="lemma">agenv_id</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="agenvS"><span class="id" title="lemma">agenvS</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.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="agenv_add_id"><span class="id" title="lemma">agenv_add_id</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subv_adjoin"><span class="id" title="lemma">subv_adjoin</span></a> <span class="id" title="var">U</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subv_adjoin_seq"><span class="id" title="lemma">subv_adjoin_seq</span></a> <span class="id" title="var">U</span> <span class="id" title="var">xs</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#xs"><span class="id" title="variable">xs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memv_adjoin"><span class="id" title="lemma">memv_adjoin</span></a> <span class="id" title="var">U</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="seqv_sub_adjoin"><span class="id" title="lemma">seqv_sub_adjoin</span></a> <span class="id" title="var">U</span> <span class="id" title="var">xs</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.falgebra.html#xs"><span class="id" title="variable">xs</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#xs"><span class="id" title="variable">xs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subvP_adjoin"><span class="id" title="lemma">subvP_adjoin</span></a> <span class="id" title="var">U</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoin_nil"><span class="id" title="lemma">adjoin_nil</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoin_cons"><span class="id" title="lemma">adjoin_cons</span></a> <span class="id" title="var">V</span> <span class="id" title="var">x</span> <span class="id" title="var">rs</span> : <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoin_rcons"><span class="id" title="lemma">adjoin_rcons</span></a> <span class="id" title="var">V</span> <span class="id" title="var">rs</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs"><span class="id" title="variable">rs</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoin_seq1"><span class="id" title="lemma">adjoin_seq1</span></a> <span class="id" title="var">V</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#36229928b54642a4a7da943ccf8f9612"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoinC"><span class="id" title="lemma">adjoinC</span></a> <span class="id" title="var">V</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoinSl"><span class="id" title="lemma">adjoinSl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#98e8399dc171f0712bc513d630fa7681"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoin_seqSl"><span class="id" title="lemma">adjoin_seqSl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">rs</span> : (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs"><span class="id" title="variable">rs</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adjoin_seqSr"><span class="id" title="lemma">adjoin_seqSr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">rs1</span> <span class="id" title="var">rs2</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs1"><span class="id" title="variable">rs1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs2"><span class="id" title="variable">rs2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs1"><span class="id" title="variable">rs1</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.algebra.vector.html#755d11a7d5629bce3486e7cbadc915e7"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs2"><span class="id" title="variable">rs2</span></a><a class="idref" href="mathcomp.field.falgebra.html#177559ff502b98bbdadd6a453347ab47"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#Closure"><span class="id" title="section">Closure</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="a5d136b64fbd8856d9b682844c957cd8"><span class="id" title="notation">&quot;</span></a>&lt;&lt; U &gt;&gt;" := (<a class="idref" href="mathcomp.field.falgebra.html#agenv_aspace"><span class="id" title="definition">agenv_aspace</span></a> <span class="id" title="var">U</span>) : <span class="id" title="var">aspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&quot;</span></a>&lt;&lt; U &amp; vs &gt;&gt;" := (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> (<span class="id" title="var">U</span> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">&lt;&lt;</span></a><span class="id" title="var">vs</span><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">&gt;&gt;</span></a>)) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">&quot;</span></a>&lt;&lt; U ; x &gt;&gt;" := (<a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> (<span class="id" title="var">U</span> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a>)) : <span class="id" title="var">vspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5c4fc201454399b74bc84435c76b9c31"><span class="id" title="notation">&quot;</span></a>&lt;&lt; U &amp; vs &gt;&gt;" := <a class="idref" href="mathcomp.field.falgebra.html#a5d136b64fbd8856d9b682844c957cd8"><span class="id" title="notation">&lt;&lt;</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">&lt;&lt;</span></a><span class="id" title="var">vs</span><a class="idref" href="mathcomp.algebra.vector.html#dd838ef568fa7ae0628a7427a23d7215"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a5d136b64fbd8856d9b682844c957cd8"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">AS</span> : <span class="id" title="var">aspace_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9a2c6ddd5d16ca8107a4117e06c54feb"><span class="id" title="notation">&quot;</span></a>&lt;&lt; U ; x &gt;&gt;" := <a class="idref" href="mathcomp.field.falgebra.html#a5d136b64fbd8856d9b682844c957cd8"><span class="id" title="notation">&lt;&lt;</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.algebra.vector.html#706deac9766015ea164a28957c46a7b4"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">&lt;[</span></a><span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.vector.html#c7e74c229bedc2f20e80f4f2f96cee78"><span class="id" title="notation">]&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a5d136b64fbd8856d9b682844c957cd8"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">AS</span> : <span class="id" title="var">aspace_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="SubFalgType"><span class="id" title="section">SubFalgType</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The FalgType structure of subvs_of A for A : {aspace aT}.
+ We can't use the rpred-based mixin, because A need not contain 1.
+</div>
+<div class="code">
+<span class="id" title="keyword">Variable</span> (<a name="SubFalgType.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="SubFalgType.aT"><span class="id" title="variable">aT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</span></a>) (<a name="SubFalgType.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.field.falgebra.html#65af7272bb2f435c294b2354194e23fe"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="subvs_one"><span class="id" title="definition">subvs_one</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#Subvs"><span class="id" title="constructor">Subvs</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#memv_algid"><span class="id" title="lemma">memv_algid</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="subvs_mul"><span class="id" title="definition">subvs_mul</span></a> (<span class="id" title="var">u</span> <span class="id" title="var">v</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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>) := <br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.vector.html#Subvs"><span class="id" title="constructor">Subvs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#subv_trans"><span class="id" title="lemma">subv_trans</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#memv_mul"><span class="id" title="lemma">memv_mul</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#subvsP"><span class="id" title="lemma">subvsP</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#subvsP"><span class="id" title="lemma">subvsP</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a>)) (<a class="idref" href="mathcomp.field.falgebra.html#asubv"><span class="id" title="lemma">asubv</span></a> <span class="id" title="var">_</span>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="subvs_mulA"><span class="id" title="lemma">subvs_mulA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a>.<br/>
+ <span class="id" title="keyword">Fact</span> <a name="subvs_mu1l"><span class="id" title="lemma">subvs_mu1l</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_one"><span class="id" title="definition">subvs_one</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a>.<br/>
+ <span class="id" title="keyword">Fact</span> <a name="subvs_mul1"><span class="id" title="lemma">subvs_mul1</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_one"><span class="id" title="definition">subvs_one</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a>.<br/>
+ <span class="id" title="keyword">Fact</span> <a name="subvs_mulDl"><span class="id" title="lemma">subvs_mulDl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">R</span></a>.<br/>
+ <span class="id" title="keyword">Fact</span> <a name="subvs_mulDr"><span class="id" title="lemma">subvs_mulDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="subvs_ringMixin"><span class="id" title="definition">subvs_ringMixin</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingMixin"><span class="id" title="abbreviation">RingMixin</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mulA"><span class="id" title="lemma">subvs_mulA</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mu1l"><span class="id" title="lemma">subvs_mu1l</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul1"><span class="id" title="lemma">subvs_mul1</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mulDl"><span class="id" title="lemma">subvs_mulDl</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mulDr"><span class="id" title="lemma">subvs_mulDr</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.field.falgebra.html#algid_neq0"><span class="id" title="lemma">algid_neq0</span></a> <span class="id" title="var">_</span>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_ringType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#subvs_ringMixin"><span class="id" title="definition">subvs_ringMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subvs_scaleAl"><span class="id" title="lemma">subvs_scaleAl</span></a> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_lalgType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.K"><span class="id" title="variable">K</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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#subvs_scaleAl"><span class="id" title="lemma">subvs_scaleAl</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subvs_scaleAr"><span class="id" title="lemma">subvs_scaleAr</span></a> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">)</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_algType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Algebra.Exports.AlgType"><span class="id" title="abbreviation">AlgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.K"><span class="id" title="variable">K</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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.field.falgebra.html#subvs_scaleAr"><span class="id" title="lemma">subvs_scaleAr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_unitRingType</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.falgebra.html#FalgUnitRingType"><span class="id" title="abbreviation">FalgUnitRingType</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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_unitAlgType</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#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#bdb1eed686184a9a4099efa772be7bc7"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_FalgType</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.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.field.falgebra.html#3c0387428f19a365dfa0c989db9030d7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</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.falgebra.html#SubFalgType.A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="vsval_unitr"><span class="id" title="lemma">vsval_unitr</span></a> <span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="vsval_invr"><span class="id" title="lemma">vsval_invr</span></a> <span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">)^-1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType"><span class="id" title="section">SubFalgType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="AHom"><span class="id" title="section">AHom</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="AHom.K"><span class="id" title="variable">K</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="AHom.Class_Def"><span class="id" title="section">Class_Def</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a> <a name="AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.K"><span class="id" title="variable">K</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="ahom_in"><span class="id" title="definition">ahom_in</span></a> (<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">fM_at</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#fM_at"><span class="id" title="variable">fM_at</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</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.falgebra.html#U"><span class="id" title="variable">U</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.falgebra.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> 1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ahom_inP"><span class="id" title="lemma">ahom_inP</span></a> {<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">)</span></a>} {<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>} :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ahomP"><span class="id" title="lemma">ahomP</span></a> {<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">)</span></a>} : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="ahom"><span class="id" title="record">ahom</span></a> := <a name="AHom"><span class="id" title="constructor">AHom</span></a> {<a name="ahval"><span class="id" title="projection">ahval</span></a> :&gt; <a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">)</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahval"><span class="id" title="method">ahval</span></a>}.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ahom_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahval"><span class="id" title="projection">ahval</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#341c160c3e7b20d967b85d1852a7f89f"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="ahom_eqMixin"><span class="id" title="definition">ahom_eqMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ahom_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom_eqMixin"><span class="id" title="definition">ahom_eqMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="ahom_choiceMixin"><span class="id" title="definition">ahom_choiceMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ahom_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom_choiceMixin"><span class="id" title="definition">ahom_choiceMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="linfun_is_ahom"><span class="id" title="lemma">linfun_is_ahom</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2759afce9315ab3f51737bc14cc79ce9"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>).<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">linfun_ahom</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.field.falgebra.html#AHom"><span class="id" title="constructor">AHom</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#linfun_is_ahom"><span class="id" title="lemma">linfun_is_ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def"><span class="id" title="section">Class_Def</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="AHom.LRMorphism"><span class="id" title="section">LRMorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a name="AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a> <a name="AHom.LRMorphism.sT"><span class="id" title="variable">sT</span></a> : <a class="idref" href="mathcomp.field.falgebra.html#FalgType"><span class="id" title="abbreviation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.K"><span class="id" title="variable">K</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="ahom_is_lrmorphism"><span class="id" title="lemma">ahom_is_lrmorphism</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.LRMorphism.Exports.lrmorphism"><span class="id" title="abbreviation">lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">ahom_rmorphism</span> <span class="id" title="var">f</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.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#ahom_is_lrmorphism"><span class="id" title="lemma">ahom_is_lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ahom_lrmorphism</span> <span class="id" title="var">f</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.LRMorphism.Exports.AddLRMorphism"><span class="id" title="abbreviation">AddLRMorphism</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#ahom_is_lrmorphism"><span class="id" title="lemma">ahom_is_lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ahomWin"><span class="id" title="lemma">ahomWin</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="id_is_ahom"><span class="id" title="lemma">id_is_ahom</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#9c5859a8d2fadc014a07818a2f27d0e9"><span class="id" title="notation">\1</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">id_ahom</span> := <a class="idref" href="mathcomp.field.falgebra.html#AHom"><span class="id" title="constructor">AHom</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#id_is_ahom"><span class="id" title="lemma">id_is_ahom</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#aspacef"><span class="id" title="definition">aspacef</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="comp_is_ahom"><span class="id" title="lemma">comp_is_ahom</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#ca0a177f6d6581a7f5199987cd7ee21c"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.sT"><span class="id" title="variable">sT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#83f0032a38b59483260ed68e0d6a1c56"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#899a5fd19c4f3564d9757a9ac446b1dc"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahom_in"><span class="id" title="definition">ahom_in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#9ad88b19a9e5558beda973c77ca474da"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#9ad88b19a9e5558beda973c77ca474da"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">comp_ahom</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.sT"><span class="id" title="variable">sT</span></a>) (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.field.falgebra.html#AHom"><span class="id" title="constructor">AHom</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#comp_is_ahom"><span class="id" title="lemma">comp_is_ahom</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="aimgM"><span class="id" title="lemma">aimgM</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5b85b63f427d1a979ef02fefbf6c079c"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.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="aimg1"><span class="id" title="lemma">aimg1</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) : (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="aimgX"><span class="id" title="lemma">aimgX</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) <span class="id" title="var">U</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5c6592477dfc60c955b3f617acf29bf2"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="aimg_agen"><span class="id" title="lemma">aimg_agen</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#agenv"><span class="id" title="definition">agenv</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="aimg_adjoin"><span class="id" title="lemma">aimg_adjoin</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) <span class="id" title="var">U</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.field.falgebra.html#8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.field.falgebra.html#8327f1e5c19a7e79cb67878854f30e5f"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="aimg_adjoin_seq"><span class="id" title="lemma">aimg_adjoin_seq</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) <span class="id" title="var">U</span> <span class="id" title="var">xs</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.field.falgebra.html#xs"><span class="id" title="variable">xs</span></a><a class="idref" href="mathcomp.field.falgebra.html#e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b5958714d039bb581a8e5ca988944568"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.falgebra.html#xs"><span class="id" title="variable">xs</span></a><a class="idref" href="mathcomp.field.falgebra.html#e4ccb61d3c0d4e7e716fb926f4a43f39"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">VS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="ker_sub_ahom_is_aspace"><span class="id" title="lemma">ker_sub_ahom_is_aspace</span></a> (<span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.rT"><span class="id" title="variable">rT</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.field.falgebra.html#is_aspace"><span class="id" title="definition">is_aspace</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.falgebra.html#ahval"><span class="id" title="projection">ahval</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.field.falgebra.html#ahval"><span class="id" title="projection">ahval</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a>)).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ker_sub_ahom_aspace</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> := <a class="idref" href="mathcomp.field.falgebra.html#ASpace"><span class="id" title="constructor">ASpace</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#ker_sub_ahom_is_aspace"><span class="id" title="lemma">ker_sub_ahom_is_aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.field.falgebra.html#g"><span class="id" title="variable">g</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism"><span class="id" title="section">LRMorphism</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fixedSpace_aspace</span> <span class="id" title="var">aT</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aT"><span class="id" title="variable">aT</span></a>) := <a class="idref" href="mathcomp.field.falgebra.html#a27a7bbe891874a9e33d55aa952a0432"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#a27a7bbe891874a9e33d55aa952a0432"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a27a7bbe891874a9e33d55aa952a0432"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.field.falgebra.html#a27a7bbe891874a9e33d55aa952a0432"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.field.falgebra.html#AHom"><span class="id" title="section">AHom</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="275e5c2faf7ccaa3626b9f053d734882"><span class="id" title="notation">&quot;</span></a>''AHom' ( aT , rT )" := (<a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span>) : <span class="id" title="var">type_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9d2c89a88ea86f63ea4cf60f1b8ceb74"><span class="id" title="notation">&quot;</span></a>''AEnd' ( aT )" := (<a class="idref" href="mathcomp.field.falgebra.html#ahom"><span class="id" title="record">ahom</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">aT</span>) : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">lrfun_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">AF</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="fb319f197edf8ec3c96628ce0620cdf2"><span class="id" title="notation">&quot;</span></a>\1" := (@<a class="idref" href="mathcomp.field.falgebra.html#id_ahom"><span class="id" title="definition">id_ahom</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>) : <span class="id" title="var">lrfun_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="638d4df1a3fae13d71a7544ed620f3a0"><span class="id" title="notation">&quot;</span></a>f \o g" := (<a class="idref" href="mathcomp.field.falgebra.html#comp_ahom"><span class="id" title="definition">comp_ahom</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span>) : <span class="id" title="var">lrfun_scope</span>.<br/>
+</div>
+</div>
+
+<div id="footer">
+<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a>
+</div>
+
+</div>
+
+</body>
+</html> \ No newline at end of file