diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.field.falgebra.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.field.falgebra.html | 1047 |
1 files changed, 0 insertions, 1047 deletions
diff --git a/docs/htmldoc/mathcomp.field.falgebra.html b/docs/htmldoc/mathcomp.field.falgebra.html deleted file mode 100644 index d684280..0000000 --- a/docs/htmldoc/mathcomp.field.falgebra.html +++ /dev/null @@ -1,1047 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<link href="coqdoc.css" rel="stylesheet" type="text/css" /> -<title>mathcomp.field.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">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><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 |-> u * v, for u, v : aT. - amulr u == the linear function v |-> 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 :&: 'C[v])%VS. - 'C(V)%VS == the centraliser subspace of the subspace V. - 'C_U(V)%VS := (U :&: '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 + < [v]>) (adjoin v to U). - <tt>U & 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 <=> the characteristic predicate of {aspace aT} stating - that U is closed under product and contains an - identity element, := has_algid U && (U * U <= 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 <-> e : aT is an identity element for the subspace U: - e in U, e != 0 & e * u = u * e = u for all u in U. - has_algid U <=> 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 & vs</tt>%AS == the canonical algebra for <tt>U & vs</tt>%VS. - ahom_in U f <=> 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 -> rT. -> 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> "{ '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> "<< U & vs >>" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "<< U & vs >>").<br/> -<span class="id" title="keyword">Reserved Notation</span> "<< U ; x >>" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "<< U ; x >>").<br/> -<span class="id" title="keyword">Reserved Notation</span> "''AHom' ( T , rT )"<br/> - (<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> "''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="222bf65c75939d8554a3b5e08d73f0d5"><span class="id" title="notation">"</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#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <span class="id" title="var">V</span>) (<a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <span class="id" title="var">E</span>))<br/> - (<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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">c</span> <span class="id" title="var">vAm</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#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/> - <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>) & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.field.falgebra.html#vT"><span class="id" title="variable">vT</span></a><br/> - & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (<a class="idref" href="mathcomp.algebra.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/> - @<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>.<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/V8.9.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/> - <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/> - <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>)<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/V8.9.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>}.<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/V8.9.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> := <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> := <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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Falgebra.class_of"><span class="id" title="record">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/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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/> - (<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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitAlgebra.class_of"><span class="id" title="record">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/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">mT</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.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/> - <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/V8.9.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>).<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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>.<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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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">>-></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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">"</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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">A</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'FalgType' R 'of' A ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c59cbf7ead4fff233447196845a75eb7"><span class="id" title="notation">"</span></a>[ 'FalgType' R 'of' A 'for' vT ]" :=<br/> - (@<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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">A</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">vT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ '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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.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/V8.9.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="ce522d3de65c5c87372b29676544b57b"><span class="id" title="notation">"</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#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><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#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#60bd2bc9fb9187afe5d7f780c1576e3c"><span class="id" title="notation">_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><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#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><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/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#32d8c90f413029fb5c0e82f0559cd7ef"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#2d0cfb150261028f4ebd2ba355623dcc"><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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><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#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/> - <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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><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#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><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#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgLfun.InvLfun.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">^-1</span></a>%<span class="id" title="var">VF</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">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#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><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#30375396dccfb946bd8b81878cc5934b"><span class="id" title="notation">\*</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#30375396dccfb946bd8b81878cc5934b"><span class="id" title="notation">o</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.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#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">End</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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#53a3ec8a4009300ec80babde5a7883ab"><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#5e03abe1c4aaadd0b39b8ab0cf62f35b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e03abe1c4aaadd0b39b8ab0cf62f35b"><span class="id" title="notation">o</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#5e03abe1c4aaadd0b39b8ab0cf62f35b"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">@</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#41130ccc9d15f6b312cf971c8cd92b0f"><span class="id" title="notation">idfun</span></a> <a class="idref" href="mathcomp.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/V8.9.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/V8.9.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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">poly</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.poly.html#c2ef4fdf7ae62c36654f85f0d2a6c874"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/V8.9.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/> -<span class="id" title="keyword">Definition</span> <a name="prodv"><span class="id" title="definition">prodv</span></a> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.field.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#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</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#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a> (<a class="idref" href="mathcomp.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#fb707feae4acc20b3f4404c2e515b2a1"><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">prodv_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#84464b412faf5a30a7c5c6423d9b3956"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#84464b412faf5a30a7c5c6423d9b3956"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#84464b412faf5a30a7c5c6423d9b3956"><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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#84464b412faf5a30a7c5c6423d9b3956"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5215eefac650e5069ffc61e3cc9dc055"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#6231d90025dd46a75d146519d384c2b5"><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#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a> <a class="idref" href="mathcomp.field.falgebra.html#5215eefac650e5069ffc61e3cc9dc055"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><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#2d0cfb150261028f4ebd2ba355623dcc"><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#6231d90025dd46a75d146519d384c2b5"><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="dimv1"><span class="id" title="lemma">dimv1</span></a>: <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a>1%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 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#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5215eefac650e5069ffc61e3cc9dc055"><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#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.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#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#228e85e3c31a939cba019f255574c875"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">k</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</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/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#862982ed16052c855fd1cdb6c8e69ea7"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.field.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/V8.9.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/V8.9.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/V8.9.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/V8.9.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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#5215eefac650e5069ffc61e3cc9dc055"><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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.field.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/V8.9.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#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">.-1</span></a> <a class="idref" href="mathcomp.field.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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">^+</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1)%<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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">^+</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">^+</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5215eefac650e5069ffc61e3cc9dc055"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#5215eefac650e5069ffc61e3cc9dc055"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.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#bda89d73ec4a8f23ae92b565ffb5aaa6"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#1d427e6c23d5e01e29ecf0123d1e1b59"><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#0dacc1786c5ba797d47dd85006231633"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#1d427e6c23d5e01e29ecf0123d1e1b59"><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#5215eefac650e5069ffc61e3cc9dc055"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#1d427e6c23d5e01e29ecf0123d1e1b59"><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#5215eefac650e5069ffc61e3cc9dc055"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.field.falgebra.html#1d427e6c23d5e01e29ecf0123d1e1b59"><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#ea2ff3d561159081cea6fb2e8113cc54"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#1d427e6c23d5e01e29ecf0123d1e1b59"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#1d427e6c23d5e01e29ecf0123d1e1b59"><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#6231d90025dd46a75d146519d384c2b5"><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#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a> <a class="idref" href="mathcomp.field.falgebra.html#1d427e6c23d5e01e29ecf0123d1e1b59"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><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#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></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#51dc792c356ca1a71a3094b50d6bb2fb"><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#e782a2c526ad9829b082fc7e1b92d1ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#e782a2c526ad9829b082fc7e1b92d1ec"><span class="id" title="notation">bigcap_i</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><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#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><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#663140372ac3b275aae871b74b140513"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5f76d9959f82823e4253cd67e7dc0e96"><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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#a3603406613c9df0ee9e7d6a7f7e1386"><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#a3603406613c9df0ee9e7d6a7f7e1386"><span class="id" title="notation">]</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">)</span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#663140372ac3b275aae871b74b140513"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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#2e0b34a8e05ee287d92de114cd9577b4"><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#80354b4ac5a7ae24a2bb90308585eedc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#80354b4ac5a7ae24a2bb90308585eedc"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#80354b4ac5a7ae24a2bb90308585eedc"><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#80354b4ac5a7ae24a2bb90308585eedc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#80354b4ac5a7ae24a2bb90308585eedc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#80354b4ac5a7ae24a2bb90308585eedc"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#80354b4ac5a7ae24a2bb90308585eedc"><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#80354b4ac5a7ae24a2bb90308585eedc"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.field.falgebra.html#2e0b34a8e05ee287d92de114cd9577b4"><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/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><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#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span>, <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#decidable"><span class="id" title="definition">decidable</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">e</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">e</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><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#5215eefac650e5069ffc61e3cc9dc055"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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> :> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#FalgebraTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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/V8.9.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#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><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#c2d02b544d823cdc1e1e08de552cdba4"><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#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><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#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation"><:]</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#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><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#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation"><:]</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#aa8c179e7d847b79500c7558a661edb0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#aa8c179e7d847b79500c7558a661edb0"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#aa8c179e7d847b79500c7558a661edb0"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#aa8c179e7d847b79500c7558a661edb0"><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#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">eqType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#2b9222c46a529018a8ebb5be6355801c"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">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#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">choiceType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6cecb3ca492751e55998eec154506328"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">}</span></a>) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">algU</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.field.falgebra.html#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/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#0ac367aab6864c536e98a34f9ffcfa34"><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#0ac367aab6864c536e98a34f9ffcfa34"><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/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">q</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> (<a class="idref" href="mathcomp.algebra.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.poly.html#polyOver"><span class="id" title="definition">polyOver</span></a> 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="fc55b47dcfaa8c4ab713c15bcf9025c5"><span class="id" title="notation">"</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/V8.9.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="c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">"</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="aa09eaba57ed731fe6057a60a2bcedec"><span class="id" title="notation">"</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="e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">"</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="d8b1706e8010e0b53c2774dfbf873e88"><span class="id" title="notation">"</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#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">[</span></a><span class="id" title="var">v</span><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><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="a73bda648f436317e444c2d5357b9c13"><span class="id" title="notation">"</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#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">[</span></a><span class="id" title="var">v</span><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><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="7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">"</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="780b975bf659abded191282f4d135ed0"><span class="id" title="notation">"</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#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">(</span></a><span class="id" title="var">V</span><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><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="7860c9c538afc1419cf2b70157bfa202"><span class="id" title="notation">"</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#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">(</span></a><span class="id" title="var">V</span><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><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="c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">"</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="1b58c56d638549711a5f489a1e67c8ce"><span class="id" title="notation">"</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="75f92dda739d843c39e2413a028aa59d"><span class="id" title="notation">"</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="a5e40109c671f04c3bc60eeb7f524b40"><span class="id" title="notation">"</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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'aspace' 'of' U ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="cef318b021d9a6e020e6944bd6715b38"><span class="id" title="notation">"</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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ '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#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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#fc55b47dcfaa8c4ab713c15bcf9025c5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#fc55b47dcfaa8c4ab713c15bcf9025c5"><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#fc55b47dcfaa8c4ab713c15bcf9025c5"><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/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">e</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.field.falgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#a133e82bab56729f895f9b2b31e837cd"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> 1) <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><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#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> 1))%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_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#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_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#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">*%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3609d85e23333c9e68741ad96b416eec"><span class="id" title="notation">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<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#c385a484ee9d1b4e0615924561a9b75e"><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#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><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.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.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#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AspaceTheory.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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#c6968316a9da1a036ba9e9fe49127e40"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#aa09eaba57ed731fe6057a60a2bcedec"><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#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.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#1b2203db576bf155aeb3bf95910647bd"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">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/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.falgebra.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</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#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#e1205c8dda31c64b2e4fae807a4f8e62"><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#e1205c8dda31c64b2e4fae807a4f8e62"><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#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><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#7b231db878157ce673bcf8317356ce20"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.field.falgebra.html#7b231db878157ce673bcf8317356ce20"><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#7b231db878157ce673bcf8317356ce20"><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#cef318b021d9a6e020e6944bd6715b38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#cef318b021d9a6e020e6944bd6715b38"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cef318b021d9a6e020e6944bd6715b38"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#c0a1f35e4ee58b4e01eff08fda5aaf6d"><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#c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.field.falgebra.html#cef318b021d9a6e020e6944bd6715b38"><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#cef318b021d9a6e020e6944bd6715b38"><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#c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.field.falgebra.html#c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.field.falgebra.html#c0a1f35e4ee58b4e01eff08fda5aaf6d"><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#c0a1f35e4ee58b4e01eff08fda5aaf6d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#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/> - <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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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/> - <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#4035d32524f7ed0a087ce5476e9fa4fc"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#4035d32524f7ed0a087ce5476e9fa4fc"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#4035d32524f7ed0a087ce5476e9fa4fc"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.vector.html#4035d32524f7ed0a087ce5476e9fa4fc"><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.vector.html#4035d32524f7ed0a087ce5476e9fa4fc"><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#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a>)%<span class="id" title="var">VS</span> <span class="id" title="tactic">in</span><br/> - (<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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">X</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.field.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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.field.falgebra.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.falgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.field.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="22c025db5e2e4269fd5256e02464f6bd"><span class="id" title="notation">"</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="c5858b0879496d225c5b4b6c59ed63f1"><span class="id" title="notation">"</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="fd5fc938964314abb59607afda3e6f81"><span class="id" title="notation">"</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#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#Closure.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.field.falgebra.html#Closure.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.algebra.vector.html#3952416cf7247f685d260a2e48262270"><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#aa09eaba57ed731fe6057a60a2bcedec"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (1 <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><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#c6968316a9da1a036ba9e9fe49127e40"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (1 <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><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#c6968316a9da1a036ba9e9fe49127e40"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#fc55b47dcfaa8c4ab713c15bcf9025c5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#fc55b47dcfaa8c4ab713c15bcf9025c5"><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#fc55b47dcfaa8c4ab713c15bcf9025c5"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#c6968316a9da1a036ba9e9fe49127e40"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#aa09eaba57ed731fe6057a60a2bcedec"><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#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.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#65f0b8f4dcd5cfd6280e7c777466601a"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#aa09eaba57ed731fe6057a60a2bcedec"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#c6968316a9da1a036ba9e9fe49127e40"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#65f0b8f4dcd5cfd6280e7c777466601a"><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#df663072855a4e0a1a944084f6a33d9e"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#df663072855a4e0a1a944084f6a33d9e"><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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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_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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">&</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#77ea2a1af80620c45e915838c6b4069e"><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="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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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="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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.falgebra.html#xs"><span class="id" title="variable">xs</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">&</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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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="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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a><a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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#407cde5b61fbf27196d1a7c5a475e083"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation"><<</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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="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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">&</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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><span class="id" title="notation"><<</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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="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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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="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#71a48dd0de7f83d8b3db34800dc1ee2d"><span class="id" title="notation"><<</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><span class="id" title="notation"><<</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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="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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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#71a48dd0de7f83d8b3db34800dc1ee2d"><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="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#65f0b8f4dcd5cfd6280e7c777466601a"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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="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/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs1"><span class="id" title="variable">rs1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#rs2"><span class="id" title="variable">rs2</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">&</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#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><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#77ea2a1af80620c45e915838c6b4069e"><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="mathcomp.field.falgebra.html#77ea2a1af80620c45e915838c6b4069e"><span class="id" title="notation">>></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="3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation">"</span></a><< U >>" := (<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="371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">"</span></a><< U & vs >>" := (<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#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><span class="id" title="var">vs</span><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><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="faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">"</span></a><< U ; x >>" := (<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#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><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="770584451035f3d923808b17acb3f7f0"><span class="id" title="notation">"</span></a><< U & vs >>" := <a class="idref" href="mathcomp.field.falgebra.html#3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation"><<</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><span class="id" title="var">vs</span><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.field.falgebra.html#3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation">>></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="7e6742d42304c0b24013f17e162844ed"><span class="id" title="notation">"</span></a><< U ; x >>" := <a class="idref" href="mathcomp.field.falgebra.html#3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation"><<</span></a> <span class="id" title="var">U</span> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">]></span></a> <a class="idref" href="mathcomp.field.falgebra.html#3e666855bd966e1fc13cba166232bd7a"><span class="id" title="notation">>></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#fc55b47dcfaa8c4ab713c15bcf9025c5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.field.falgebra.html#fc55b47dcfaa8c4ab713c15bcf9025c5"><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#fc55b47dcfaa8c4ab713c15bcf9025c5"><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/> - <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/V8.9.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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.field.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/V8.9.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/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a>.<br/> - <span class="id" title="keyword">Fact</span> <a name="subvs_mulDr"><span class="id" title="lemma">subvs_mulDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_distributive"><span class="id" title="definition">right_distributive</span></a> <a class="idref" href="mathcomp.field.falgebra.html#subvs_mul"><span class="id" title="definition">subvs_mul</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a87d5ea2e207e69e5e474db24f56d4cb"><span class="id" title="notation">R</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_ringMixin"><span class="id" title="definition">subvs_ringMixin</span></a> :=<br/> - <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/> - (<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#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.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#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">)</span></a>.<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#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">unitAlgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#53130370ad22aac4f3ee8434dbc4850d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.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#53130370ad22aac4f3ee8434dbc4850d"><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#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><span class="id" title="notation">FalgType</span></a> <a class="idref" href="mathcomp.field.falgebra.html#SubFalgType.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.field.falgebra.html#8fcc6f073a7a36fa680d6889440e6651"><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#8fcc6f073a7a36fa680d6889440e6651"><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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">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/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#f6c65697fefaf4504de1d4d641cd4409"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4e5a4c91ec0aa12de06dfe1cc07ea126"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.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#4e5a4c91ec0aa12de06dfe1cc07ea126"><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#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>) :=<br/> - <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#2d0cfb150261028f4ebd2ba355623dcc"><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#df45e8c2e8370fd4f0f7c4fdaf208180"><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#2d0cfb150261028f4ebd2ba355623dcc"><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/> - <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/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> 1 <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>} {<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.field.falgebra.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#40d800f6f36c47cb5f4f2f42555867a8"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">)</span></a>)<br/> - (<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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>} : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.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#6a45c77a68f1019c1f3b35b71c415ac8"><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#6a45c77a68f1019c1f3b35b71c415ac8"><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> :> <a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#6a45c77a68f1019c1f3b35b71c415ac8"><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#6a45c77a68f1019c1f3b35b71c415ac8"><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#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">subType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><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#c2d02b544d823cdc1e1e08de552cdba4"><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#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><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#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b361a0fe0b43cea5c506ee5eccc55542"><span class="id" title="notation"><:]</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#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><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#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#035054ba987e1c05f2985518b41ec31f"><span class="id" title="notation"><:]</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#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><span class="id" title="notation">lrmorphism</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.Class_Def.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c998d6ecd14e902f7fd2311ac585dfed"><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#6a45c77a68f1019c1f3b35b71c415ac8"><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#6a45c77a68f1019c1f3b35b71c415ac8"><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#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><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#a300415caaff85fa92adc742a30b7dd0"><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#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#AHom.LRMorphism.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">Hom</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><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#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>) :<br/> - <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#6a45c77a68f1019c1f3b35b71c415ac8"><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#6a45c77a68f1019c1f3b35b71c415ac8"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><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#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><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/> - <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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><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#c6968316a9da1a036ba9e9fe49127e40"><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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#c6968316a9da1a036ba9e9fe49127e40"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><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#aa09eaba57ed731fe6057a60a2bcedec"><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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.field.falgebra.html#aa09eaba57ed731fe6057a60a2bcedec"><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#1b2203db576bf155aeb3bf95910647bd"><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/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><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#1b2203db576bf155aeb3bf95910647bd"><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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><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#faad1af6363310d507c72eed3dbfbc17"><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#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#faad1af6363310d507c72eed3dbfbc17"><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#1b2203db576bf155aeb3bf95910647bd"><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#faad1af6363310d507c72eed3dbfbc17"><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#faad1af6363310d507c72eed3dbfbc17"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="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/> - (<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#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><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#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">&</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#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.field.falgebra.html#371fc5178e74e35fccdd110881a97487"><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#1b2203db576bf155aeb3bf95910647bd"><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#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">&</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#371fc5178e74e35fccdd110881a97487"><span class="id" title="notation">>></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/> - <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#51dc792c356ca1a71a3094b50d6bb2fb"><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#a5e40109c671f04c3bc60eeb7f524b40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.field.falgebra.html#a5e40109c671f04c3bc60eeb7f524b40"><span class="id" title="notation">aspace</span></a> <a class="idref" href="mathcomp.field.falgebra.html#a5e40109c671f04c3bc60eeb7f524b40"><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#a5e40109c671f04c3bc60eeb7f524b40"><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="5ebbd314beec4fab5e200f9e2e9a5ebd"><span class="id" title="notation">"</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="04c6701698caff9bb0065d0d68e1c322"><span class="id" title="notation">"</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="f436108c4654cd96283a5a1885342019"><span class="id" title="notation">"</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="37f1621ec8834da7c443a9b34d0751d3"><span class="id" title="notation">"</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 |
