diff options
| author | Cyril Cohen | 2019-10-16 11:26:43 +0200 |
|---|---|---|
| committer | Cyril Cohen | 2019-10-16 11:26:43 +0200 |
| commit | 6b59540a2460633df4e3d8347cb4dfe2fb3a3afb (patch) | |
| tree | 1239c1d5553d51a7d73f2f8b465f6a23178ff8a0 /docs/htmldoc/mathcomp.algebra.vector.html | |
| parent | dd82aaeae7e9478efc178ce8430986649555b032 (diff) | |
removing everything but index which redirects to the new page
Diffstat (limited to 'docs/htmldoc/mathcomp.algebra.vector.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.algebra.vector.html | 1948 |
1 files changed, 0 insertions, 1948 deletions
diff --git a/docs/htmldoc/mathcomp.algebra.vector.html b/docs/htmldoc/mathcomp.algebra.vector.html deleted file mode 100644 index 37872ef..0000000 --- a/docs/htmldoc/mathcomp.algebra.vector.html +++ /dev/null @@ -1,1948 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<link href="coqdoc.css" rel="stylesheet" type="text/css" /> -<title>mathcomp.algebra.vector</title> -</head> - -<body> - -<div id="page"> - -<div id="header"> -</div> - -<div id="main"> - -<h1 class="libtitle">Library mathcomp.algebra.vector</h1> - -<div class="code"> -<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><br/> - -<br/> -</div> - -<div class="doc"> -<a name="lab29"></a><h1 class="section">Finite dimensional vector spaces</h1> - - vectType R == interface structure for finite dimensional (more - precisely, detachable) vector spaces over R, which - should be at least a ringType. - Vector.axiom n M <-> type M is linearly isomorphic to 'rV_n. - := {v2r : M -> 'rV_n| linear v2r & bijective v2r}. - VectMixin isoM == packages a proof isoV of Vector.axiom n M as the - vectType mixin for an n-dimensional R-space - structure on a type M that is an lmodType R. - VectType K M mT == packs the vectType mixin mT to into a vectType K - instance for T; T should have an lmodType K - canonical instance. - [vectType R of T for vS] == a copy of the vS : vectType R structure where - the sort is replaced by T; vS : lmodType R should - be convertible to a canonical lmodType for T. - [vectType R of V] == a clone of an existing vectType R structure on V. - {vspace vT} == the type of (detachable) subspaces of vT; vT - should have a vectType structure over a fieldType. - subvs_of U == the subtype of elements of V in the subspace U. - This is canonically a vectType. - vsval u == linear injection of u : subvs_of U into V. - vsproj U v == linear projection of v : V in subvs U. - 'Hom(aT, rT) == the type of linear functions (homomorphisms) from - aT to rT, where aT and rT ARE vectType structures. - Elements of 'Hom(aT, rT) coerce to Coq functions. -> Caveat: aT and rT must denote actual vectType structures, not their - projections on Type. - linfun f == a vector linear function in 'Hom(aT, rT) that - coincides with f : aT -> rT when f is linear. - 'End(vT) == endomorphisms of vT (:= 'Hom(vT, vT)). -> The types subvs_of U, 'Hom(aT, rT), 'End(vT), K^o, 'M[K](m, n), - vT * wT, {ffun I -> vT}, vT ^ n all have canonical vectType instances. - -<div class="paragraph"> </div> - - Functions: - < [v]>%VS == the vector space generated by v (a line if v != 0). - 0%VS == the trivial vector subspace. - fullv, {:vT} == the complete vector subspace (displays as fullv). - (U + V)%VS == the join (sum) of two subspaces U and V. - (U :&: V)%VS == intersection of vector subspaces U and V. - (U^C)%VS == a complement of the vector subspace U. - (U :\: V)%VS == a local complement to U :& V in the subspace U. - \dim U == dimension of a vector space U. - span X, <tt>X</tt>%VS == the subspace spanned by the vector sequence X. - coord X i v == i'th coordinate of v on X, when v \in <tt>X</tt>%VS and - where X : n.-tuple vT and i : 'I_n. Note that - coord X i is a scalar function. - vpick U == a nonzero element of U if U= 0%VS, or 0 if U = 0. - vbasis U == a (\dim U).-tuple that is a basis of U. - \1%VF == the identity linear function. - (f \o g)%VF == the composite of two linear functions f and g. - (f^-1)%VF == a linear function that is a right inverse to the - linear function f on the codomain of f. - (f @: U)%VS == the image of vs by the linear function f. - (f @^-1: U)%VS == the pre-image of vs by the linear function f. - lker f == the kernel of the linear function f. - limg f == the image of the linear function f. - fixedSpace f == the fixed space of a linear endomorphism f - daddv_pi U V == projection onto U along V if U and V are disjoint; - daddv_pi U V + daddv_pi V U is then a projection - onto the direct sum (U + V)%VS. - projv U == projection onto U (along U^C, := daddv_pi U U^C). - addv_pi1 U V == projection onto the subspace U :\: V of U along V. - addv_pi2 U V == projection onto V along U :\: V; note that - addv_pi1 U V and addv_pi2 U V are (asymmetrical) - complementary projections on (U + V)%VS. - sumv_pi_for defV i == for defV : V = (V \sum(j <- r | P j) Vs j)%VS, - j ranging over an eqType, this is a projection on - a subspace of Vs i, along a complement in V, such - that \sum(j <- r | P j) sumv_pi_for defV j is a - projection onto V if filter P r is duplicate-free - (e.g., when V := \sum(j | P j) Vs j). - sumv_pi V i == notation the above when defV == erefl V, and V is - convertible to \sum(j <- r | P j) Vs j)%VS. - -<div class="paragraph"> </div> - - Predicates: - v \in U == v belongs to U (:= (< [v]> <= U)%VS). - (U <= V)%VS == U is a subspace of V. - free B == B is a sequence of nonzero linearly independent - vectors. - basis_of U b == b is a basis of the subspace U. - directv S == S is the expression for a direct sum of subspaces. -</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> "{ 'vspace' T }" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "{ 'vspace' T }").<br/> -<span class="id" title="keyword">Reserved Notation</span> "''Hom' ( T , rT )" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''Hom' ( T , rT )").<br/> -<span class="id" title="keyword">Reserved Notation</span> "''End' ( T )" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''End' ( T )").<br/> -<span class="id" title="keyword">Reserved Notation</span> "\dim A" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">A</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "\dim A").<br/> - -<br/> -<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">vspace_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">VS</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 dimension vector space -</div> -<div class="code"> -<span class="id" title="keyword">Module</span> <a name="Vector"><span class="id" title="module">Vector</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Vector.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> -<span class="id" title="keyword">Variable</span> <a name="Vector.ClassDef.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.axiom_def"><span class="id" title="definition">axiom_def</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">{</span></a><span class="id" title="var">v2r</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#928a892a0c1438777aeb17535aec0378"><span class="id" title="notation">_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">|</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.algebra.vector.html#v2r"><span class="id" title="variable">v2r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v2r"><span class="id" title="variable">v2r</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#f92718946b2f68c8f7100be4d6b45f82"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Inductive</span> <a name="Vector.mixin_of"><span class="id" title="inductive">mixin_of</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="Vector.Mixin"><span class="id" title="constructor">Mixin</span></a> <span class="id" title="var">dim</span> & <a class="idref" href="mathcomp.algebra.vector.html#Vector.axiom_def"><span class="id" title="definition">axiom_def</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dim"><span class="id" title="variable">dim</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Structure</span> <a name="Vector.class_of"><span class="id" title="record">class_of</span></a> <span class="id" title="var">V</span> := <a name="Vector.Class"><span class="id" title="constructor">Class</span></a> {<br/> - <a name="Vector.base"><span class="id" title="projection">base</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class_of"><span class="id" title="record">GRing.Lmodule.class_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>;<br/> - <a name="Vector.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">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.algebra.vector.html#base"><span class="id" title="method">base</span></a>)<br/> -}.<br/> - -<br/> -<span class="id" title="keyword">Structure</span> <a name="Vector.type"><span class="id" title="record">type</span></a> (<span class="id" title="var">phR</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a>) := <a name="Vector.Pack"><span class="id" title="constructor">Pack</span></a> {<a name="Vector.sort"><span class="id" title="projection">sort</span></a>; <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sort"><span class="id" title="method">sort</span></a>}.<br/> -<span class="id" title="keyword">Variables</span> (<a name="Vector.ClassDef.phR"><span class="id" title="variable">phR</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a>) (<a name="Vector.ClassDef.T"><span class="id" title="variable">T</span></a> : <span class="id" title="keyword">Type</span>) (<a name="Vector.ClassDef.cT"><span class="id" title="variable">cT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.type"><span class="id" title="record">type</span></a> <a class="idref" href="mathcomp.algebra.vector.html#phR"><span class="id" title="variable">phR</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.class"><span class="id" title="definition">class</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#Vector.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.algebra.vector.html#Vector.ClassDef.cT"><span class="id" title="variable">cT</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#cT"><span class="id" title="variable">cT</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">c</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">c</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.class"><span class="id" title="definition">class</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c"><span class="id" title="variable">c</span></a> := @<a class="idref" href="mathcomp.algebra.vector.html#Vector.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.vector.html#c"><span class="id" title="variable">c</span></a>.<br/> -<span class="id" title="keyword">Let</span> <a name="Vector.ClassDef.xT"><span class="id" title="variable">xT</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#Vector.Pack"><span class="id" title="constructor">Pack</span></a> <span class="id" title="var">T</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.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="Vector.xclass"><span class="id" title="abbreviation">xclass</span></a> := (<a class="idref" href="mathcomp.algebra.vector.html#Vector.class"><span class="id" title="definition">class</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.class_of"><span class="id" title="record">class_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.xT"><span class="id" title="variable">xT</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.dim"><span class="id" title="definition">dim</span></a> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#Vector.Mixin"><span class="id" title="constructor">Mixin</span></a> <span class="id" title="var">n</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.class"><span class="id" title="definition">class</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">n</span>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.pack"><span class="id" title="definition">pack</span></a> <span class="id" title="var">b0</span> (<span class="id" title="var">m0</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin_of"><span class="id" title="inductive">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> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b0"><span class="id" title="variable">b0</span></a>)) :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">bT</span> <span class="id" title="var">b</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> (@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.class"><span class="id" title="definition">GRing.Lmodule.class</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.vector.html#bT"><span class="id" title="variable">bT</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#b"><span class="id" title="variable">b</span></a> ⇒<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> & <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#phant_id"><span class="id" title="definition">phant_id</span></a> <a class="idref" href="mathcomp.algebra.vector.html#m0"><span class="id" title="variable">m0</span></a> <a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a> ⇒ <a class="idref" href="mathcomp.algebra.vector.html#Vector.Pack"><span class="id" title="constructor">Pack</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.phR"><span class="id" title="variable">phR</span></a> (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.Class"><span class="id" title="constructor">Class</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.T"><span class="id" title="variable">T</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.eqType"><span class="id" title="definition">eqType</span></a> := @<a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Pack"><span class="id" title="constructor">Equality.Pack</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.choiceType"><span class="id" title="definition">choiceType</span></a> := @<a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Pack"><span class="id" title="constructor">Choice.Pack</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.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.algebra.vector.html#Vector.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.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.algebra.vector.html#Vector.ClassDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.phR"><span class="id" title="variable">phR</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef.cT"><span class="id" title="variable">cT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.xclass"><span class="id" title="abbreviation">xclass</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.ClassDef"><span class="id" title="section">ClassDef</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="Vector.axiom"><span class="id" title="abbreviation">axiom</span></a> <span class="id" title="var">n</span> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.vector.html#Vector.axiom_def"><span class="id" title="definition">axiom_def</span></a> <span class="id" title="var">n</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">V</span>)).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Vector.OtherDefs"><span class="id" title="section">OtherDefs</span></a>.<br/> -<span class="id" title="keyword">Inductive</span> <a name="Vector.space"><span class="id" title="inductive">space</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>) (<span class="id" title="var">vT</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.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> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>)) (<span class="id" title="var">phV</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phant"><span class="id" title="inductive">phant</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a>) :=<br/> - <a name="Vector.Space"><span class="id" title="constructor">Space</span></a> (<span class="id" title="var">mx</span> : <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.algebra.vector.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">_vT</span></a>) & <a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#mx"><span class="id" title="variable">mx</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.vector.html#mx"><span class="id" title="variable">mx</span></a>.<br/> -<span class="id" title="keyword">Inductive</span> <a name="Vector.hom"><span class="id" title="inductive">hom</span></a> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<span class="id" title="var">vT</span> <span class="id" title="var">wT</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.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> <a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a>)) :=<br/> - <a name="Vector.Hom"><span class="id" title="constructor">Hom</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#wT"><span class="id" title="variable">wT</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">)</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.OtherDefs"><span class="id" title="section">OtherDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="Vector.Exports"><span class="id" title="module">Exports</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.base"><span class="id" title="projection">base</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.base"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.base"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.base"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.base"><span class="id" title="projection">GRing.Lmodule.class_of</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">mixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">class_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.mixin"><span class="id" title="projection">mixin_of</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.sort"><span class="id" title="projection">sort</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.sort"><span class="id" title="projection">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.sort"><span class="id" title="projection">type</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.sort"><span class="id" title="projection">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.sort"><span class="id" title="projection">Sortclass</span></a>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.eqType"><span class="id" title="definition">eqType</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.eqType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.eqType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.eqType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.eqType"><span class="id" title="definition">Equality.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">eqType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.choiceType"><span class="id" title="definition">choiceType</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.choiceType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.choiceType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.choiceType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.choiceType"><span class="id" title="definition">Choice.type</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">choiceType</span>.<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.zmodType"><span class="id" title="definition">zmodType</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.zmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.zmodType"><span class="id" title="definition">type</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.zmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.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.algebra.vector.html#Vector.lmodType"><span class="id" title="definition">lmodType</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.lmodType"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.lmodType"><span class="id" title="definition">type</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.lmodType"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.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">Notation</span> <a name="Vector.Exports.vectType"><span class="id" title="abbreviation">vectType</span></a> <span class="id" title="var">R</span> := (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.type"><span class="id" title="record">type</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>)).<br/> -<span class="id" title="keyword">Notation</span> <a name="Vector.Exports.VectType"><span class="id" title="abbreviation">VectType</span></a> <span class="id" title="var">R</span> <span class="id" title="var">V</span> <span class="id" title="var">mV</span> :=<br/> - (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.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">V</span> <span class="id" title="var">_</span> <span class="id" title="var">mV</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a>).<br/> -<span class="id" title="keyword">Notation</span> <a name="Vector.Exports.VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#Vector.Mixin"><span class="id" title="constructor">Mixin</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="7d75c9873afa7474e18adb554c87529d"><span class="id" title="notation">"</span></a>[ 'vectType' R 'of' T 'for' cT ]" := (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">cT</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 0, <span class="id" title="var">format</span> "[ 'vectType' R 'of' T 'for' cT ]") : <span class="id" title="var">form_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="175c99cb2333cd9da7aa1406562b4d6c"><span class="id" title="notation">"</span></a>[ 'vectType' R 'of' T ]" := (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.clone"><span class="id" title="definition">clone</span></a> <span class="id" title="var">_</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <span class="id" title="var">R</span>) <span class="id" title="var">T</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#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> "[ 'vectType' R 'of' T ]") : <span class="id" title="var">form_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">"</span></a>{ 'vspace' vT }" := (<a class="idref" href="mathcomp.algebra.vector.html#Vector.space"><span class="id" title="inductive">space</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">vT</span>)) : <span class="id" title="var">type_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">"</span></a>''Hom' ( aT , rT )" := (<a class="idref" href="mathcomp.algebra.vector.html#Vector.hom"><span class="id" title="inductive">hom</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="53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">"</span></a>''End' ( vT )" := (<a class="idref" href="mathcomp.algebra.vector.html#Vector.hom"><span class="id" title="inductive">hom</span></a> <span class="id" title="var">vT</span> <span class="id" title="var">vT</span>) : <span class="id" title="var">type_scope</span>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">vspace_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">VS</span>.<br/> -<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">lfun_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports"><span class="id" title="module">Exports</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - The contents of this module exposes the matrix encodings, and should - therefore not be used outside of the vector library implementation. -</div> -<div class="code"> -<span class="id" title="keyword">Module</span> <a name="Vector.InternalTheory"><span class="id" title="module">InternalTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Vector.InternalTheory.Iso"><span class="id" title="section">Iso</span></a>.<br/> -<span class="id" title="keyword">Variables</span> (<a name="Vector.InternalTheory.Iso.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="Vector.InternalTheory.Iso.vT"><span class="id" title="variable">vT</span></a> <a name="Vector.InternalTheory.Iso.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Vector.InternalTheory.v2r_subproof"><span class="id" title="lemma">v2r_subproof</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.axiom"><span class="id" title="abbreviation">axiom</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Iso.vT"><span class="id" title="variable">vT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Iso.vT"><span class="id" title="variable">vT</span></a>. <br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#s2val"><span class="id" title="definition">s2val</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r_subproof"><span class="id" title="lemma">v2r_subproof</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="Vector.InternalTheory.Iso.v2r_bij"><span class="id" title="variable">v2r_bij</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#s2valP'"><span class="id" title="lemma">s2valP'</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r_subproof"><span class="id" title="lemma">v2r_subproof</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="Vector.InternalTheory.r2v_subproof"><span class="id" title="lemma">r2v_subproof</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">r2v</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.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r2v"><span class="id" title="variable">r2v</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</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/> -<span class="id" title="keyword">Definition</span> <a name="Vector.InternalTheory.r2v"><span class="id" title="definition">r2v</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#sval"><span class="id" title="abbreviation">sval</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.r2v_subproof"><span class="id" title="lemma">r2v_subproof</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.r2vK"><span class="id" title="lemma">r2vK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.r2v"><span class="id" title="definition">r2v</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.r2v_inj"><span class="id" title="lemma">r2v_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.r2v"><span class="id" title="definition">r2v</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.v2rK"><span class="id" title="lemma">v2rK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.r2v"><span class="id" title="definition">r2v</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.v2r_inj"><span class="id" title="lemma">v2r_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">v2r_linear</span> := <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.ssreflect.eqtype.html#s2valP"><span class="id" title="lemma">s2valP</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r_subproof"><span class="id" title="lemma">v2r_subproof</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.Linear.Exports.linear"><span class="id" title="abbreviation">linear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">r2v_linear</span> := <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.algebra.ssralg.html#GRing.Theory.can2_linear"><span class="id" title="definition">can2_linear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2rK"><span class="id" title="lemma">v2rK</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.r2vK"><span class="id" title="lemma">r2vK</span></a>).<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Iso"><span class="id" title="section">Iso</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Vector.InternalTheory.Vspace"><span class="id" title="section">Vspace</span></a>.<br/> -<span class="id" title="keyword">Variables</span> (<a name="Vector.InternalTheory.Vspace.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="Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.InternalTheory.b2mx"><span class="id" title="definition">b2mx</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a>) := <a class="idref" href="mathcomp.algebra.matrix.html#156c57e70d793ff8d6e063eb2f2cbdf2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#156c57e70d793ff8d6e063eb2f2cbdf2"><span class="id" title="notation">matrix_i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.v2r"><span class="id" title="definition">v2r</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#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>).<br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.b2mxK"><span class="id" title="lemma">b2mxK</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.r2v"><span class="id" title="definition">r2v</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.b2mx"><span class="id" title="definition">b2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.InternalTheory.vs2mx"><span class="id" title="definition">vs2mx</span></a> {<span class="id" title="var">phV</span>} (<span class="id" title="var">U</span> : @<a class="idref" href="mathcomp.algebra.vector.html#Vector.space"><span class="id" title="inductive">space</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#phV"><span class="id" title="variable">phV</span></a>) := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#Vector.Space"><span class="id" title="constructor">Space</span></a> <span class="id" title="var">mx</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">mx</span>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.gen_vs2mx"><span class="id" title="lemma">gen_vs2mx</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.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="Vector.InternalTheory.mx2vs_subproof"><span class="id" title="lemma">mx2vs_subproof</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation"><<(<<</span></a><a class="idref" href="mathcomp.algebra.vector.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation">>>)>></span></a>%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3962b76563fd8a8f45948950a775860e"><span class="id" title="notation">>></span></a>%<span class="id" title="var">MS</span>.<br/> - <span class="id" title="keyword">Definition</span> <a name="Vector.InternalTheory.mx2vs"><span class="id" title="definition">mx2vs</span></a> {<span class="id" title="var">m</span>} <span class="id" title="var">A</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.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</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#Vector.Space"><span class="id" title="constructor">Space</span></a> <span class="id" title="var">_</span> (@<a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.mx2vs_subproof"><span class="id" title="lemma">mx2vs_subproof</span></a> <a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.vector.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">space_subType</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.algebra.vector.html#Vector.InternalTheory.vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phant"><span class="id" title="constructor">Phant</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a>)<a class="idref" href="mathcomp.ssreflect.eqtype.html#c2d02b544d823cdc1e1e08de552cdba4"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.vs2mxK"><span class="id" title="lemma">vs2mxK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.mx2vs"><span class="id" title="definition">mx2vs</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="Vector.InternalTheory.mx2vsK"><span class="id" title="lemma">mx2vsK</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">M</span> : <a class="idref" href="mathcomp.algebra.matrix.html#5402b0dfe2a7ea661b91256aeeaf93da"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#5402b0dfe2a7ea661b91256aeeaf93da"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#5402b0dfe2a7ea661b91256aeeaf93da"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#5402b0dfe2a7ea661b91256aeeaf93da"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.matrix.html#5402b0dfe2a7ea661b91256aeeaf93da"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.mx2vs"><span class="id" title="definition">mx2vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#M"><span class="id" title="variable">M</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#f769dda5dbc6895d666659cb6e305422"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">MS</span>.<br/> - <span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Vspace"><span class="id" title="section">Vspace</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Vector.InternalTheory.Hom"><span class="id" title="section">Hom</span></a>.<br/> -<span class="id" title="keyword">Variables</span> (<a name="Vector.InternalTheory.Hom.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="Vector.InternalTheory.Hom.aT"><span class="id" title="variable">aT</span></a> <a name="Vector.InternalTheory.Hom.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#Vector.Exports.vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="Vector.InternalTheory.f2mx"><span class="id" title="definition">f2mx</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.algebra.vector.html#Vector.InternalTheory.Hom.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.algebra.vector.html#Vector.InternalTheory.Hom.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="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#Vector.Hom"><span class="id" title="constructor">Hom</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">A</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">hom_subType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#685b4c9ab7ccde70d9229dfbdb93d490"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#685b4c9ab7ccde70d9229dfbdb93d490"><span class="id" title="notation">newType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#685b4c9ab7ccde70d9229dfbdb93d490"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.f2mx"><span class="id" title="definition">f2mx</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#685b4c9ab7ccde70d9229dfbdb93d490"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory.Hom"><span class="id" title="section">Hom</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector.InternalTheory"><span class="id" title="module">InternalTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Vector"><span class="id" title="module">Vector</span></a>.<br/> -<span class="id" title="keyword">Export</span> <span class="id" title="var">Vector.Exports</span>.<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">Vector.InternalTheory</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VspaceDefs"><span class="id" title="section">VspaceDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="VspaceDefs.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="VspaceDefs.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <a class="idref" href="mathcomp.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</span></a>) (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</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">Definition</span> <a name="space_eqMixin"><span class="id" title="definition">space_eqMixin</span></a> := <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#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.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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</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">space_eqType</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.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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</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#space_eqMixin"><span class="id" title="definition">space_eqMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="space_choiceMixin"><span class="id" title="definition">space_choiceMixin</span></a> := <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#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.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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</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">space_choiceType</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.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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</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#space_choiceMixin"><span class="id" title="definition">space_choiceMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="dimv"><span class="id" title="definition">dimv</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#b8af73c258a533909a2acba13114d67c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b8af73c258a533909a2acba13114d67c"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#b8af73c258a533909a2acba13114d67c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b8af73c258a533909a2acba13114d67c"><span class="id" title="notation">)</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subsetv"><span class="id" title="definition">subsetv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#09a21fbfc35503eeecaca8720742f7ab"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="vline"><span class="id" title="definition">vline</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#v2r"><span class="id" title="definition">v2r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>).<br/> - -<br/> -</div> - -<div class="doc"> - Vspace membership is defined as line inclusion. -</div> -<div class="code"> -<span class="id" title="keyword">Definition</span> <a name="pred_of_vspace"><span class="id" title="definition">pred_of_vspace</span></a> <span class="id" title="var">phV</span> (<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#space"><span class="id" title="inductive">Vector.space</span></a> <a class="idref" href="mathcomp.algebra.vector.html#phV"><span class="id" title="variable">phV</span></a>) : <a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#64f8873130736b599801d4930af00e74"><span class="id" title="notation">}</span></a> :=<br/> - <span class="id" title="keyword">fun</span> <span class="id" title="var">v</span> ⇒ (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vline"><span class="id" title="definition">vline</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#09a21fbfc35503eeecaca8720742f7ab"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vspace_predType</span> :=<br/> - @<a class="idref" href="mathcomp.ssreflect.ssrbool.html#PredType"><span class="id" title="definition">PredType</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#unkeyed"><span class="id" title="abbreviation">unkeyed</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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</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#pred_of_vspace"><span class="id" title="definition">pred_of_vspace</span></a> <span class="id" title="var">_</span>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="fullv"><span class="id" title="definition">fullv</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.algebra.vector.html#VspaceDefs.vT"><span class="id" title="variable">vT</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#mx2vs"><span class="id" title="definition">mx2vs</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#850c060d75891e97ece38bfec139b8ea"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#850c060d75891e97ece38bfec139b8ea"><span class="id" title="notation">M</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="addv"><span class="id" title="definition">addv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#b116c353d9d5a3e6e54e78df2da7c80e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="capv"><span class="id" title="definition">capv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92683a3ca3b0c0704351ce117beaffe3"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="complv"><span class="id" title="definition">complv</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#7772cb4a238f5fc3b7cf2f735c00df9d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#7772cb4a238f5fc3b7cf2f735c00df9d"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#7772cb4a238f5fc3b7cf2f735c00df9d"><span class="id" title="notation">C</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="diffv"><span class="id" title="definition">diffv</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f7be369075cd7f5f2c01766717911ece"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="vpick"><span class="id" title="definition">vpick</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.vector.html#r2v"><span class="id" title="definition">r2v</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#nz_row"><span class="id" title="definition">nz_row</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>)).<br/> -<span class="id" title="keyword">Fact</span> <a name="span_key"><span class="id" title="lemma">span_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="span_expanded_def"><span class="id" title="definition">span_expanded_def</span></a> <span class="id" title="var">X</span> := <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#b2mx"><span class="id" title="definition">b2mx</span></a> (<a class="idref" href="mathcomp.ssreflect.tuple.html#in_tuple"><span class="id" title="definition">in_tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="span"><span class="id" title="definition">span</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#span_key"><span class="id" title="lemma">span_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#span_expanded_def"><span class="id" title="definition">span_expanded_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">span_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.algebra.vector.html#span"><span class="id" title="definition">span</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/> -<span class="id" title="keyword">Definition</span> <a name="vbasis_def"><span class="id" title="definition">vbasis_def</span></a> <span class="id" title="var">U</span> :=<br/> - <a class="idref" href="mathcomp.ssreflect.tuple.html#9d5b9af75768e306a1218aacdf8c3490"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#9d5b9af75768e306a1218aacdf8c3490"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r2v"><span class="id" title="definition">r2v</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_base"><span class="id" title="definition">row_base</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>))) <a class="idref" href="mathcomp.ssreflect.tuple.html#9d5b9af75768e306a1218aacdf8c3490"><span class="id" title="notation">|</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.tuple.html#9d5b9af75768e306a1218aacdf8c3490"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dimv"><span class="id" title="definition">dimv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#9d5b9af75768e306a1218aacdf8c3490"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="vbasis"><span class="id" title="definition">vbasis</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#span_key"><span class="id" title="lemma">span_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vbasis_def"><span class="id" title="definition">vbasis_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vbasis_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.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</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/> -</div> - -<div class="doc"> - coord and directv are defined in the VectorTheory section. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="free"><span class="id" title="definition">free</span></a> <span class="id" title="var">X</span> := <a class="idref" href="mathcomp.algebra.vector.html#dimv"><span class="id" title="definition">dimv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#span"><span class="id" title="definition">span</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>) <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="basis_of"><span class="id" title="definition">basis_of</span></a> <span class="id" title="var">U</span> <span class="id" title="var">X</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#span"><span class="id" title="definition">span</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VspaceDefs"><span class="id" title="section">VspaceDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#pred_of_vspace"><span class="id" title="definition">pred_of_vspace</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pred_of_vspace"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pred_of_vspace"><span class="id" title="definition">Vector.space</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pred_of_vspace"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#pred_of_vspace"><span class="id" title="definition">pred_sort</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">"</span></a>\dim U" := (<a class="idref" href="mathcomp.algebra.vector.html#dimv"><span class="id" title="definition">dimv</span></a> <span class="id" title="var">U</span>) : <span class="id" title="var">nat_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">"</span></a>U <= V" := (<a class="idref" href="mathcomp.algebra.vector.html#subsetv"><span class="id" title="definition">subsetv</span></a> <span class="id" title="var">U</span> <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="38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">"</span></a>U <= V <= W" := (<a class="idref" href="mathcomp.algebra.vector.html#subsetv"><span class="id" title="definition">subsetv</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.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subsetv"><span class="id" title="definition">subsetv</span></a> <span class="id" title="var">V</span> <span class="id" title="var">W</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation">"</span></a><[ v ] >" := (<a class="idref" href="mathcomp.algebra.vector.html#vline"><span class="id" title="definition">vline</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="fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">"</span></a><< X >>" := (<a class="idref" href="mathcomp.algebra.vector.html#span"><span class="id" title="definition">span</span></a> <span class="id" title="var">X</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="7867bb85aa71eed1c43a7597ad3a829f"><span class="id" title="notation">"</span></a>0" := (<a class="idref" href="mathcomp.algebra.vector.html#vline"><span class="id" title="definition">vline</span></a> 0) : <span class="id" title="var">vspace_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">"</span></a>U + V" := (<a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a> <span class="id" title="var">U</span> <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="b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">"</span></a>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> <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="d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">"</span></a>U ^C" := (<a class="idref" href="mathcomp.algebra.vector.html#complv"><span class="id" title="definition">complv</span></a> <span class="id" title="var">U</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "U ^C") : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">"</span></a>U :\: V" := (<a class="idref" href="mathcomp.algebra.vector.html#diffv"><span class="id" title="definition">diffv</span></a> <span class="id" title="var">U</span> <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="6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">"</span></a>{ : vT }" := (@<a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a> <span class="id" title="var">_</span> <span class="id" title="var">vT</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">vspace_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">"</span></a>\sum_ ( i <- r | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="4035d32524f7ed0a087ce5476e9fa4fc"><span class="id" title="notation">"</span></a>\sum_ ( i <- r ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">"</span></a>\sum_ ( m <= i < n | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="ed6ca395a58c2dd2e180488b49583ee7"><span class="id" title="notation">"</span></a>\sum_ ( m <= i < n ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">"</span></a>\sum_ ( i | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="0c4efae6a4d872dac94fb49ba92ea1f6"><span class="id" title="notation">"</span></a>\sum_ i U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">_i</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="7860acd0f1cc83187bb320dfaf798957"><span class="id" title="notation">"</span></a>\sum_ ( i : t | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) (<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="54c4935bf08ec0de994937d72e3df1fe"><span class="id" title="notation">"</span></a>\sum_ ( i : t ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) (<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="2beb5fba8fdaf806cbea9eea06273d92"><span class="id" title="notation">"</span></a>\sum_ ( i < n | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="3952416cf7247f685d260a2e48262270"><span class="id" title="notation">"</span></a>\sum_ ( i < n ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="86045227306b00d93321ae4ef5385bbb"><span class="id" title="notation">"</span></a>\sum_ ( i 'in' A | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="59f865cd792a060e1e66a0cff2c15452"><span class="id" title="notation">"</span></a>\sum_ ( i 'in' A ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#addv"><span class="id" title="definition">addv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">VS</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">"</span></a>\bigcap_ ( i <- r | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#60e57ff387b8a0840e944d0d03f215e2"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="74a0c06c872a69e98ca46ad54a961b1b"><span class="id" title="notation">"</span></a>\bigcap_ ( i <- r ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="b699b5b8246de2911e135194d61c81f0"><span class="id" title="notation">"</span></a>\bigcap_ ( m <= i < n | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#61699f7bcd958ceac6b63f7e240f7ee7"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c77ffb4028db3c8bda7414402b9621c6"><span class="id" title="notation">"</span></a>\bigcap_ ( m <= i < n ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0f72dd08c3295710348031e7df784a3"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">"</span></a>\bigcap_ ( i | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="e782a2c526ad9829b082fc7e1b92d1ec"><span class="id" title="notation">"</span></a>\bigcap_ i U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#379a79a86133b2d1cd9cb43efa183ecb"><span class="id" title="notation">_i</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="a85699029679464cc1b2e1816ed4e72e"><span class="id" title="notation">"</span></a>\bigcap_ ( i : t | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d9e61c197d846298f3e26b588e67e5ec"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) (<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="baa3fb8aa341ea01835331c89af380b6"><span class="id" title="notation">"</span></a>\bigcap_ ( i : t ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0a668c1f377e113a6f68dd824f1c2031"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) (<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="cc2a8d5d02ce10d0a02a6f92266064a6"><span class="id" title="notation">"</span></a>\bigcap_ ( i < n | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#0b83d32979b1fdd5833879356bbfd57b"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c2db5b9e6791199affca3c62d4fd16fe"><span class="id" title="notation">"</span></a>\bigcap_ ( i < n ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation"><</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#afef6bddeda988bbc365e556241d5732"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="036350b66999901c49931f62549b4123"><span class="id" title="notation">"</span></a>\bigcap_ ( i 'in' A | P ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">|</span></a> <span class="id" title="var">P</span>%<span class="id" title="var">B</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d82d692725683c4eeb1ed4ba22855f30"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="c8bd40eeb8582b2b4e8ef31cd546dfce"><span class="id" title="notation">"</span></a>\bigcap_ ( i 'in' A ) U" :=<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#capv"><span class="id" title="definition">capv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">)</span></a> <span class="id" title="var">U</span>%<span class="id" title="var">VS</span>) : <span class="id" title="var">vspace_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory"><span class="id" title="section">VectorTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="VectorTheory.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="VectorTheory.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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">a</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.K"><span class="id" title="variable">K</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#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) (<span class="id" title="var">X</span> <span class="id" title="var">Y</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>).<br/> - -<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="vspace_key"><span class="id" title="lemma">vspace_key</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#pred_key"><span class="id" title="inductive">pred_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>. <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vspace_keyed</span> <span class="id" title="var">U</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#KeyedPred"><span class="id" title="definition">KeyedPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vspace_key"><span class="id" title="lemma">vspace_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memvE"><span class="id" title="lemma">memvE</span></a> <span class="id" title="var">v</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.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.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.algebra.vector.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="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.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="vlineP"><span class="id" title="lemma">vlineP</span></a> <span class="id" title="var">v1</span> <span class="id" title="var">v2</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">k</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v1"><span class="id" title="variable">v1</span></a> <a class="idref" href="http://coq.inria.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#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.vector.html#v2"><span class="id" title="variable">v2</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#v1"><span class="id" title="variable">v1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.algebra.vector.html#v2"><span class="id" title="variable">v2</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">Fact</span> <a name="memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.submod_closed"><span class="id" title="abbreviation">submod_closed</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">memv_opprPred</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.OpprPred"><span class="id" title="definition">OpprPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">memv_addrPred</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.AddrPred"><span class="id" title="definition">AddrPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">memv_zmodPred</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.ZmodPred"><span class="id" title="definition">ZmodPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">memv_submodPred</span> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Pred.Exports.SubmodPred"><span class="id" title="definition">SubmodPred</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#memv_submod_closed"><span class="id" title="lemma">memv_submod_closed</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mem0v"><span class="id" title="lemma">mem0v</span></a> <span class="id" title="var">U</span> : 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="memvN"><span class="id" title="lemma">memvN</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.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="memvD"><span class="id" title="lemma">memvD</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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="memvB"><span class="id" title="lemma">memvB</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#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b4f176550f5b849a7fbba2ee164934d3"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span>, <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="memvZ"><span class="id" title="lemma">memvZ</span></a> <span class="id" title="var">U</span> <span class="id" title="var">k</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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">v</span>, <a class="idref" href="mathcomp.algebra.vector.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.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_suml"><span class="id" title="lemma">memv_suml</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">vs</span> <span class="id" title="var">U</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_line"><span class="id" title="lemma">memv_line</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.algebra.vector.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>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subvP"><span class="id" title="lemma">subvP</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#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#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="subvv"><span class="id" title="lemma">subvv</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span>. <br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">subvv</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subv_trans"><span class="id" title="lemma">subv_trans</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#transitive"><span class="id" title="definition">transitive</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subV"><span class="id" title="abbreviation">subV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subv_anti"><span class="id" title="lemma">subv_anti</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#antisymmetric"><span class="id" title="definition">antisymmetric</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subV"><span class="id" title="abbreviation">subV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqEsubv"><span class="id" title="lemma">eqEsubv</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.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#38ac57c5d7cac2ba77153bb3a8bb94cd"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.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="vspaceP"><span class="id" title="lemma">vspaceP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.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#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.vector.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#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subvPn"><span class="id" title="lemma">subvPn</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.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.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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#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.algebra.vector.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#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>).<br/> - -<br/> -</div> - -<div class="doc"> - Empty space. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="sub0v"><span class="id" title="lemma">sub0v</span></a> <span class="id" title="var">U</span> : (0 <a class="idref" href="mathcomp.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.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="subv0"><span class="id" title="lemma">subv0</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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> 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#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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><a 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="memv0"><span class="id" title="lemma">memv0</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.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> 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#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Full space -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subvf"><span class="id" title="lemma">subvf</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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#fullv"><span class="id" title="definition">fullv</span></a>)%<span class="id" title="var">VS</span>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="memvf"><span class="id" title="lemma">memvf</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a>. <br/> - -<br/> -</div> - -<div class="doc"> - Picking a non-zero vector in a subspace. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="memv_pick"><span class="id" title="lemma">memv_pick</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#vpick"><span class="id" title="definition">vpick</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vpick0"><span class="id" title="lemma">vpick0</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#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vpick"><span class="id" title="definition">vpick</span></a> <a class="idref" href="mathcomp.algebra.vector.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<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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><a 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/> -</div> - -<div class="doc"> - Sum of subspaces. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="subv_add"><span class="id" title="lemma">subv_add</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#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.algebra.vector.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.algebra.vector.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#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#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="addvS"><span class="id" title="lemma">addvS</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.algebra.vector.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.algebra.vector.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.algebra.vector.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.algebra.vector.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.algebra.vector.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.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="addvSl"><span class="id" title="lemma">addvSl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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#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.algebra.vector.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="addvSr"><span class="id" title="lemma">addvSr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.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="addvC"><span class="id" title="lemma">addvC</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.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addvA"><span class="id" title="lemma">addvA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_idPl"><span class="id" title="lemma">addv_idPl</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.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="addv_idPr"><span class="id" title="lemma">addv_idPr</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.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.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#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="addvv"><span class="id" title="lemma">addvv</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idempotent"><span class="id" title="definition">idempotent</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="add0v"><span class="id" title="lemma">add0v</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> 0%<span class="id" title="var">VS</span> <a class="idref" href="mathcomp.algebra.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv0"><span class="id" title="lemma">addv0</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> 0%<span class="id" title="var">VS</span> <a class="idref" href="mathcomp.algebra.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sumfv"><span class="id" title="lemma">sumfv</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_zero"><span class="id" title="definition">left_zero</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addvf"><span class="id" title="lemma">addvf</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_zero"><span class="id" title="definition">right_zero</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addV"><span class="id" title="abbreviation">addV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addv_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Monoid.Law</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addvA"><span class="id" title="lemma">addvA</span></a> <a class="idref" href="mathcomp.algebra.vector.html#add0v"><span class="id" title="lemma">add0v</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv0"><span class="id" title="lemma">addv0</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addv_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">Monoid.ComLaw</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addvC"><span class="id" title="lemma">addvC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_add"><span class="id" title="lemma">memv_add</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="memv_addP"><span class="id" title="lemma">memv_addP</span></a> {<span class="id" title="var">w</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#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.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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="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">v</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.BigSum"><span class="id" title="section">BigSum</span></a>.<br/> -<span class="id" title="keyword">Variable</span> <a name="VectorTheory.BigSum.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>.<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSum.I"><span class="id" title="variable">I</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sumv_sup"><span class="id" title="lemma">sumv_sup</span></a> <span class="id" title="var">i0</span> <span class="id" title="var">P</span> <span class="id" title="var">U</span> <span class="id" title="var">Vs</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.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#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#Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i0"><span class="id" title="variable">i0</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#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#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.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="subv_sumP"><span class="id" title="lemma">subv_sumP</span></a> {<span class="id" title="var">P</span> <span class="id" title="var">Us</span> <span class="id" title="var">V</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</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#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="memv_sumr"><span class="id" title="lemma">memv_sumr</span></a> <span class="id" title="var">P</span> <span class="id" title="var">vs</span> (<span class="id" title="var">Us</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSum.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</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.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.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="memv_sumP"><span class="id" title="lemma">memv_sumP</span></a> {<span class="id" title="var">P</span>} {<span class="id" title="var">Us</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSum.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>} {<span class="id" title="var">v</span>} : <br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">vs</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> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSum"><span class="id" title="section">BigSum</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Intersection -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subv_cap"><span class="id" title="lemma">subv_cap</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#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#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.algebra.vector.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#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="capvS"><span class="id" title="lemma">capvS</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.algebra.vector.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.algebra.vector.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.algebra.vector.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.algebra.vector.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.algebra.vector.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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="capvSl"><span class="id" title="lemma">capvSl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="capvSr"><span class="id" title="lemma">capvSr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="capvC"><span class="id" title="lemma">capvC</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.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="capvA"><span class="id" title="lemma">capvA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="capv_idPl"><span class="id" title="lemma">capv_idPl</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.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#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="capv_idPr"><span class="id" title="lemma">capv_idPr</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="capvv"><span class="id" title="lemma">capvv</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#idempotent"><span class="id" title="definition">idempotent</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cap0v"><span class="id" title="lemma">cap0v</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.algebra.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="capv0"><span class="id" title="lemma">capv0</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.algebra.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="capfv"><span class="id" title="lemma">capfv</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="capvf"><span class="id" title="lemma">capvf</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#right_id"><span class="id" title="definition">right_id</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capV"><span class="id" title="abbreviation">capV</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">capv_monoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.Law"><span class="id" title="constructor">Monoid.Law</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capvA"><span class="id" title="lemma">capvA</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capfv"><span class="id" title="lemma">capfv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capvf"><span class="id" title="lemma">capvf</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">capv_comoid</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#Monoid.ComLaw"><span class="id" title="constructor">Monoid.ComLaw</span></a> <a class="idref" href="mathcomp.algebra.vector.html#capvC"><span class="id" title="lemma">capvC</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_cap"><span class="id" title="lemma">memv_cap</span></a> <span class="id" title="var">w</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_capP"><span class="id" title="lemma">memv_capP</span></a> {<span class="id" title="var">w</span> <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.algebra.vector.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.algebra.vector.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.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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="vspace_modl"><span class="id" title="lemma">vspace_modl</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#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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.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#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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="vspace_modr"><span class="id" title="lemma">vspace_modr</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#W"><span class="id" title="variable">W</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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><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="VectorTheory.BigCap"><span class="id" title="section">BigCap</span></a>.<br/> -<span class="id" title="keyword">Variable</span> <a name="VectorTheory.BigCap.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>.<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigCap.I"><span class="id" title="variable">I</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="bigcapv_inf"><span class="id" title="lemma">bigcapv_inf</span></a> <span class="id" title="var">i0</span> <span class="id" title="var">P</span> <span class="id" title="var">Us</span> <span class="id" title="var">V</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.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#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i0"><span class="id" title="variable">i0</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#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</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#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="subv_bigcapP"><span class="id" title="lemma">subv_bigcapP</span></a> {<span class="id" title="var">P</span> <span class="id" title="var">U</span> <span class="id" title="var">Vs</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> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.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#Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.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#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#3ad924e377f59f17f3a088268ffd47eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigCap"><span class="id" title="section">BigCap</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Complement -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="addv_complf"><span class="id" title="lemma">addv_complf</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="capv_compl"><span class="id" title="lemma">capv_compl</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Difference -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="diffvSl"><span class="id" title="lemma">diffvSl</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="capv_diff"><span class="id" title="lemma">capv_diff</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_diff_cap"><span class="id" title="lemma">addv_diff_cap</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_diff"><span class="id" title="lemma">addv_diff</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Subspace dimension. -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="dimv0"><span class="id" title="lemma">dimv0</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>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#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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</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> 0%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_eq0"><span class="id" title="lemma">dimv_eq0</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#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.algebra.vector.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">N</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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><a 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="dimvf"><span class="id" title="lemma">dimvf</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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_vline"><span class="id" title="lemma">dim_vline</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.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#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimvS"><span class="id" title="lemma">dimvS</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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#U"><span class="id" title="variable">U</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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_leqif_sup"><span class="id" title="lemma">dimv_leqif_sup</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><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#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">iff</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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="dimv_leqif_eq"><span class="id" title="lemma">dimv_leqif_eq</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><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#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqEdim"><span class="id" title="lemma">eqEdim</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.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.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#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.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#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>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_compl"><span class="id" title="lemma">dimv_compl</span></a> <span class="id" title="var">U</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#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">C</span></a> <a class="idref" href="http://coq.inria.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.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><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#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_cap_compl"><span class="id" title="lemma">dimv_cap_compl</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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#0dacc1786c5ba797d47dd85006231633"><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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.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>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.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#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_sum_cap"><span class="id" title="lemma">dimv_sum_cap</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.algebra.vector.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.algebra.vector.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#0dacc1786c5ba797d47dd85006231633"><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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_disjoint_sum"><span class="id" title="lemma">dimv_disjoint_sum</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_add_leqif"><span class="id" title="lemma">dimv_add_leqif</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/> - <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.algebra.vector.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.algebra.vector.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#22d09a36997010daec8f30c044c9e5d4"><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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><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#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">iff</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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> 0)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="diffv_eq0"><span class="id" title="lemma">diffv_eq0</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#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#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="dimv_leq_sum"><span class="id" title="lemma">dimv_leq_sum</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">Us</span> : <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) : <br/> - <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.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</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.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.SumExpr"><span class="id" title="section">SumExpr</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - The vector direct sum theory clones the interface types of the matrix - direct sum theory (see mxalgebra for the technical details), but - nevetheless reuses much of the matrix theory. -</div> -<div class="code"> -<span class="id" title="keyword">Structure</span> <a name="addv_expr"><span class="id" title="record">addv_expr</span></a> := <a name="Sumv"><span class="id" title="constructor">Sumv</span></a> {<br/> - <a name="addv_val"><span class="id" title="projection">addv_val</span></a> :> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#wrapped"><span class="id" title="record">wrapped</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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>;<br/> - <a name="addv_dim"><span class="id" title="projection">addv_dim</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#wrapped"><span class="id" title="record">wrapped</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_val"><span class="id" title="method">addv_val</span></a>)) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="method">addv_dim</span></a>)<br/> -}.<br/> - -<br/> -</div> - -<div class="doc"> - Piggyback on mxalgebra theory. -</div> -<div class="code"> -<span class="id" title="keyword">Definition</span> <a name="vs2mx_sum_expr_subproof"><span class="id" title="definition">vs2mx_sum_expr_subproof</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>)) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>)).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">vs2mx_sum_expr</span> <span class="id" title="var">S</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#ProperMxsumExpr"><span class="id" title="constructor">ProperMxsumExpr</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx_sum_expr_subproof"><span class="id" title="definition">vs2mx_sum_expr_subproof</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">trivial_addv</span> <span class="id" title="var">U</span> := @<a class="idref" href="mathcomp.algebra.vector.html#Sumv"><span class="id" title="constructor">Sumv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#Wrap"><span class="id" title="constructor">Wrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#Wrap"><span class="id" title="constructor">Wrap</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#U"><span class="id" title="variable">U</span></a>)) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#TrivialMxsum"><span class="id" title="constructor">TrivialMxsum</span></a> <span class="id" title="var">_</span>).<br/> - -<br/> -<span class="id" title="keyword">Structure</span> <a name="proper_addv_expr"><span class="id" title="record">proper_addv_expr</span></a> := <a name="ProperSumvExpr"><span class="id" title="constructor">ProperSumvExpr</span></a> {<br/> - <a name="proper_addv_val"><span class="id" title="projection">proper_addv_val</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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>;<br/> - <a name="proper_addv_dim"><span class="id" title="projection">proper_addv_dim</span></a> :> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>;<br/> - <span class="id" title="var">_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#proper_addv_val"><span class="id" title="method">proper_addv_val</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#proper_addv_dim"><span class="id" title="method">proper_addv_dim</span></a><br/> -}.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="proper_addvP"><span class="id" title="definition">proper_addvP</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#proper_addv_expr"><span class="id" title="record">proper_addv_expr</span></a>) :=<br/> - <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#ProperSumvExpr"><span class="id" title="constructor">ProperSumvExpr</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">termS</span> := <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a> <span class="id" title="keyword">return</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">termS</span>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">proper_addv</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#proper_addv_expr"><span class="id" title="record">proper_addv_expr</span></a>) :=<br/> - @<a class="idref" href="mathcomp.algebra.vector.html#Sumv"><span class="id" title="constructor">Sumv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#wrap"><span class="id" title="definition">wrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>)) (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#wrap"><span class="id" title="definition">wrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>)) (<a class="idref" href="mathcomp.algebra.vector.html#proper_addvP"><span class="id" title="definition">proper_addvP</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.SumExpr.Binary"><span class="id" title="section">Binary</span></a>.<br/> -<span class="id" title="keyword">Variables</span> <a name="VectorTheory.SumExpr.Binary.S1"><span class="id" title="variable">S1</span></a> <a name="VectorTheory.SumExpr.Binary.S2"><span class="id" title="variable">S2</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>.<br/> -<span class="id" title="keyword">Fact</span> <a name="binary_addv_subproof"><span class="id" title="lemma">binary_addv_subproof</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Binary.S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Binary.S2"><span class="id" title="variable">S2</span></a>))<br/> - (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Binary.S1"><span class="id" title="variable">S1</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Binary.S2"><span class="id" title="variable">S2</span></a>)).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">binary_addv_expr</span> := <a class="idref" href="mathcomp.algebra.vector.html#ProperSumvExpr"><span class="id" title="constructor">ProperSumvExpr</span></a> <a class="idref" href="mathcomp.algebra.vector.html#binary_addv_subproof"><span class="id" title="lemma">binary_addv_subproof</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Binary"><span class="id" title="section">Binary</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.SumExpr.Nary"><span class="id" title="section">Nary</span></a>.<br/> -<span class="id" title="keyword">Variables</span> (<a name="VectorTheory.SumExpr.Nary.I"><span class="id" title="variable">I</span></a> : <span class="id" title="keyword">Type</span>) (<a name="VectorTheory.SumExpr.Nary.r"><span class="id" title="variable">r</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<a name="VectorTheory.SumExpr.Nary.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<a name="VectorTheory.SumExpr.Nary.S_"><span class="id" title="variable">S_</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>).<br/> -<span class="id" title="keyword">Fact</span> <a name="nary_addv_subproof"><span class="id" title="lemma">nary_addv_subproof</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary.S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)))<br/> - (<a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f9660601caed2f1f92279ff134c53c8a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary.S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>))).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">nary_addv_expr</span> := <a class="idref" href="mathcomp.algebra.vector.html#ProperSumvExpr"><span class="id" title="constructor">ProperSumvExpr</span></a> <a class="idref" href="mathcomp.algebra.vector.html#nary_addv_subproof"><span class="id" title="lemma">nary_addv_subproof</span></a>.<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr.Nary"><span class="id" title="section">Nary</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="directv_def"><span class="id" title="definition">directv_def</span></a> <span class="id" title="var">S</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#phantom"><span class="id" title="inductive">phantom</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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_val"><span class="id" title="projection">addv_val</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>)) :=<br/> - <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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.SumExpr"><span class="id" title="section">SumExpr</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directvE"><span class="id" title="lemma">directvE</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.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.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.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.vector.html#6d9094556d4642bd9374f6c3dcaee079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directvP"><span class="id" title="lemma">directvP</span></a> {<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#proper_addv_expr"><span class="id" title="record">proper_addv_expr</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.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#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_trivial"><span class="id" title="lemma">directv_trivial</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (@<a class="idref" href="mathcomp.algebra.vector.html#trivial_addv"><span class="id" title="definition">trivial_addv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dimv_sum_leqif"><span class="id" title="lemma">dimv_sum_leqif</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>) :<br/> - <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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</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#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directvEgeq"><span class="id" title="lemma">directvEgeq</span></a> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.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.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.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</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#73030c22bc0b1fa771c65aa5414c65f9"><span class="id" title="notation">≥</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#addv_dim"><span class="id" title="projection">addv_dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S"><span class="id" title="variable">S</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.BinaryDirect"><span class="id" title="section">BinaryDirect</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_addE"><span class="id" title="lemma">directv_addE</span></a> (<span class="id" title="var">S1</span> <span class="id" title="var">S2</span> : <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S2"><span class="id" title="variable">S2</span></a>)<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S1"><span class="id" title="variable">S1</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S2"><span class="id" title="variable">S2</span></a>)<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.vector.html#S2"><span class="id" title="variable">S2</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><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="directv_addP"><span class="id" title="lemma">directv_addP</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span> (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_add_unique"><span class="id" title="lemma">directv_add_unique</span></a> {<span class="id" title="var">U</span> <span class="id" title="var">V</span>} :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <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.algebra.vector.html#u1"><span class="id" title="variable">u1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u2"><span class="id" title="variable">u2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v1"><span class="id" title="variable">v1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v2"><span class="id" title="variable">v2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#u1"><span class="id" title="variable">u1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v1"><span class="id" title="variable">v1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u2"><span class="id" title="variable">u2</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.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#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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#u1"><span class="id" title="variable">u1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v1"><span class="id" title="variable">v1</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.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.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BinaryDirect"><span class="id" title="section">BinaryDirect</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.NaryDirect"><span class="id" title="section">NaryDirect</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Context</span> {<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>} {<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>}.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_sumP"><span class="id" title="lemma">directv_sumP</span></a> {<span class="id" title="var">Us</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</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> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span><br/> - (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_sumE"><span class="id" title="lemma">directv_sumE</span></a> {<span class="id" title="var">Ss</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_expr"><span class="id" title="record">addv_expr</span></a>} (<span class="id" title="var">xunwrap</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</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#53e4c1e546d9b20e029d981f761726c2"><span class="id" title="notation">[/\</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Ss"><span class="id" title="variable">Ss</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>))<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#53e4c1e546d9b20e029d981f761726c2"><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.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#xunwrap"><span class="id" title="variable">xunwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Ss"><span class="id" title="variable">Ss</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>))<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#53e4c1e546d9b20e029d981f761726c2"><span class="id" title="notation">]</span></a><br/> - (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Ss"><span class="id" title="variable">Ss</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>))).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_sum_independent"><span class="id" title="lemma">directv_sum_independent</span></a> {<span class="id" title="var">Us</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</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> (<span class="id" title="keyword">∀</span> <span class="id" title="var">us</span>,<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#us"><span class="id" title="variable">us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#us"><span class="id" title="variable">us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#us"><span class="id" title="variable">us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="directv_sum_unique"><span class="id" title="lemma">directv_sum_unique</span></a> {<span class="id" title="var">Us</span> : <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</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> (<span class="id" title="keyword">∀</span> <span class="id" title="var">us</span> <span class="id" title="var">vs</span>,<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#us"><span class="id" title="variable">us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#us"><span class="id" title="variable">us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#90a753c4c9a43b6ba4178e7bc1e47801"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#90a753c4c9a43b6ba4178e7bc1e47801"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#90a753c4c9a43b6ba4178e7bc1e47801"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#90a753c4c9a43b6ba4178e7bc1e47801"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#90a753c4c9a43b6ba4178e7bc1e47801"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f3be25edeb0349b0a76405eded9d0b98"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#us"><span class="id" title="variable">us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vs"><span class="id" title="variable">vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#90a753c4c9a43b6ba4178e7bc1e47801"><span class="id" title="notation">]</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.NaryDirect"><span class="id" title="section">NaryDirect</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Linear span generated by a list of vectors -</div> -<div class="code"> -<span class="id" title="keyword">Lemma</span> <a name="memv_span"><span class="id" title="lemma">memv_span</span></a> <span class="id" title="var">X</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_span1"><span class="id" title="lemma">memv_span1</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><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.algebra.vector.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><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>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dim_span"><span class="id" title="lemma">dim_span</span></a> <span class="id" title="var">X</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#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_subvP"><span class="id" title="lemma">span_subvP</span></a> {<span class="id" title="var">X</span> <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.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><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.algebra.vector.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_span"><span class="id" title="lemma">sub_span</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.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#ca592708f529c7c7ee5f3dbd6cf93463"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.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#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.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><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.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eq_span"><span class="id" title="lemma">eq_span</span></a> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> : <a class="idref" href="mathcomp.algebra.vector.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#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#1e6a438ff685c38fcd9034a94f271777"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.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#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_def"><span class="id" title="lemma">span_def</span></a> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#span"><span class="id" title="definition">span</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.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">u</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#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.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.algebra.vector.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>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_nil"><span class="id" title="lemma">span_nil</span></a> : (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#Nil"><span class="id" title="abbreviation">Nil</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_seq1"><span class="id" title="lemma">span_seq1</span></a> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.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.algebra.vector.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="span_cons"><span class="id" title="lemma">span_cons</span></a> <span class="id" title="var">v</span> <span class="id" title="var">X</span> : (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.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.algebra.vector.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="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><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_cat"><span class="id" title="lemma">span_cat</span></a> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> : (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.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#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <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><a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -</div> - -<div class="doc"> - Coordinates function; should perhaps be generalized to nat indices. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="coord_expanded_def"><span class="id" title="definition">coord_expanded_def</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">i</span> <span class="id" title="var">v</span> :=<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#v2r"><span class="id" title="definition">v2r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#pinvmx"><span class="id" title="definition">pinvmx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#b2mx"><span class="id" title="definition">b2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>)) 0 <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="coord"><span class="id" title="definition">coord</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#span_key"><span class="id" title="lemma">span_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord_expanded_def"><span class="id" title="definition">coord_expanded_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">coord_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.algebra.vector.html#coord"><span class="id" title="definition">coord</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">Fact</span> <a name="coord_is_scalar"><span class="id" title="lemma">coord_is_scalar</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.scalar"><span class="id" title="abbreviation">scalar</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>).<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">coord_addidive</span> <span class="id" title="var">n</span> <span class="id" title="var">Xn</span> <span class="id" title="var">i</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.algebra.vector.html#coord_is_scalar"><span class="id" title="lemma">coord_is_scalar</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Xn"><span class="id" title="variable">Xn</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">coord_linear</span> <span class="id" title="var">n</span> <span class="id" title="var">Xn</span> <span class="id" title="var">i</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.algebra.vector.html#coord_is_scalar"><span class="id" title="lemma">coord_is_scalar</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Xn"><span class="id" title="variable">Xn</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coord_span"><span class="id" title="lemma">coord_span</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">v</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#span"><span class="id" title="definition">span</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#de3e30c288f66ee879ea2b40e81e186c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#de3e30c288f66ee879ea2b40e81e186c"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coord0"><span class="id" title="lemma">coord0</span></a> <span class="id" title="var">i</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.ssreflect.tuple.html#44d42eed9f717544480811f482f3c650"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#44d42eed9f717544480811f482f3c650"><span class="id" title="notation">tuple</span></a> 0<a class="idref" href="mathcomp.ssreflect.tuple.html#44d42eed9f717544480811f482f3c650"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -</div> - -<div class="doc"> - Free generator sequences. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nil_free"><span class="id" title="lemma">nil_free</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#Nil"><span class="id" title="abbreviation">Nil</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="seq1_free"><span class="id" title="lemma">seq1_free</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</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#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="perm_free"><span class="id" title="lemma">perm_free</span></a> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#perm_eq"><span class="id" title="definition">perm_eq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="free_directv"><span class="id" title="lemma">free_directv</span></a> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><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.algebra.vector.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.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<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">v</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#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.algebra.vector.html#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.algebra.vector.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>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="free_not0"><span class="id" title="lemma">free_not0</span></a> <span class="id" title="var">v</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</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="freeP"><span class="id" title="lemma">freeP</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.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.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">k</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a>)<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coord_free"><span class="id" title="lemma">coord_free</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) (<span class="id" title="var">i</span> <span class="id" title="var">j</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a>) : <br/> - <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6411ed08724033ae48d2865f0380d533"><span class="id" title="notation">R</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coord_sum_free"><span class="id" title="lemma">coord_sum_free</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">k</span> <span class="id" title="var">j</span> : <br/> - <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>) <a class="idref" href="http://coq.inria.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#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#j"><span class="id" title="variable">j</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cat_free"><span class="id" title="lemma">cat_free</span></a> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">[&&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.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#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.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#5a7d806905be2a0d04047156433535f1"><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.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <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><a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="catl_free"><span class="id" title="lemma">catl_free</span></a> <span class="id" title="var">Y</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="catr_free"><span class="id" title="lemma">catr_free</span></a> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="filter_free"><span class="id" title="lemma">filter_free</span></a> <span class="id" title="var">p</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.algebra.vector.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="free_cons"><span class="id" title="lemma">free_cons</span></a> <span class="id" title="var">v</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#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.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="freeE"><span class="id" title="lemma">freeE</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.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.ssreflect.fintype.html#fb0199913c9911d56fa87965a9a828a3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fb0199913c9911d56fa87965a9a828a3"><span class="id" title="notation">∀</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#fb0199913c9911d56fa87965a9a828a3"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f3be25edeb0349b0a76405eded9d0b98"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a> <a class="idref" href="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.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#drop"><span class="id" title="definition">drop</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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.ssreflect.fintype.html#fb0199913c9911d56fa87965a9a828a3"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="freeNE"><span class="id" title="lemma">freeNE</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.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.ssrbool.html#b3ebd0deddd84fd60e149cb5ef719351"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.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.ssreflect.fintype.html#9b7547477b3531f14d89d6b13ad78482"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9b7547477b3531f14d89d6b13ad78482"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#9b7547477b3531f14d89d6b13ad78482"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#545d9d6249a673300f950a2a8b8a930b"><span class="id" title="notation">I_n</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f3be25edeb0349b0a76405eded9d0b98"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#drop"><span class="id" title="definition">drop</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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.ssreflect.fintype.html#9b7547477b3531f14d89d6b13ad78482"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="free_uniq"><span class="id" title="lemma">free_uniq</span></a> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="free_span"><span class="id" title="lemma">free_span</span></a> <span class="id" title="var">X</span> <span class="id" title="var">v</span> (<span class="id" title="var">sumX</span> := <span class="id" title="keyword">fun</span> <span class="id" title="var">k</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#706f4f0208bba5d79e26d335c76ea034"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#706f4f0208bba5d79e26d335c76ea034"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#706f4f0208bba5d79e26d335c76ea034"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#706f4f0208bba5d79e26d335c76ea034"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#706f4f0208bba5d79e26d335c76ea034"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">k</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumX"><span class="id" title="variable">sumX</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">k1</span>, <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumX"><span class="id" title="variable">sumX</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="linear_of_free"><span class="id" title="lemma">linear_of_free</span></a> (<span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.lmodType"><span class="id" title="abbreviation">lmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.K"><span class="id" title="variable">K</span></a>) <span class="id" title="var">X</span> (<span class="id" title="var">fX</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#rT"><span class="id" title="variable">rT</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">{</span></a><span class="id" title="var">f</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a> <a class="idref" href="http://coq.inria.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#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fX"><span class="id" title="variable">fX</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fX"><span class="id" title="variable">fX</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#6556914db359db999889decec6a4a562"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Subspace bases -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_basis"><span class="id" title="lemma">span_basis</span></a> <span class="id" title="var">U</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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="http://coq.inria.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#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="basis_free"><span class="id" title="lemma">basis_free</span></a> <span class="id" title="var">U</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coord_basis"><span class="id" title="lemma">coord_basis</span></a> <span class="id" title="var">U</span> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) <span class="id" title="var">v</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#de3e30c288f66ee879ea2b40e81e186c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#de3e30c288f66ee879ea2b40e81e186c"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nil_basis"><span class="id" title="lemma">nil_basis</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> 0 (<a class="idref" href="mathcomp.ssreflect.seq.html#Nil"><span class="id" title="abbreviation">Nil</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="seq1_basis"><span class="id" title="lemma">seq1_basis</span></a> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</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#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="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">[::</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#506674b18256ef8f50efed43fa1dfd7d"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="basis_not0"><span class="id" title="lemma">basis_not0</span></a> <span class="id" title="var">x</span> <span class="id" title="var">U</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="basis_mem"><span class="id" title="lemma">basis_mem</span></a> <span class="id" title="var">x</span> <span class="id" title="var">U</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cat_basis"><span class="id" title="lemma">cat_basis</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> : <br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#93e0a78b945d3f9f22195c004c67aa36"><span class="id" title="notation">++</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_basis"><span class="id" title="lemma">size_basis</span></a> <span class="id" title="var">U</span> <span class="id" title="var">n</span> (<span class="id" title="var">X</span> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>) : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="basisEdim"><span class="id" title="lemma">basisEdim</span></a> <span class="id" title="var">X</span> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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="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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</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.algebra.vector.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>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="basisEfree"><span class="id" title="lemma">basisEfree</span></a> <span class="id" title="var">X</span> <span class="id" title="var">U</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">[&&</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> <a class="idref" href="mathcomp.algebra.vector.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#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><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.algebra.vector.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.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.algebra.vector.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#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="perm_basis"><span class="id" title="lemma">perm_basis</span></a> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#perm_eq"><span class="id" title="definition">perm_eq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Y"><span class="id" title="variable">Y</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vbasisP"><span class="id" title="lemma">vbasisP</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vbasis_mem"><span class="id" title="lemma">vbasis_mem</span></a> <span class="id" title="var">v</span> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.algebra.vector.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.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="coord_vbasis"><span class="id" title="lemma">coord_vbasis</span></a> <span class="id" title="var">v</span> <span class="id" title="var">U</span> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><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#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#784f0af919f467115774be372bf0dbd7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#coord"><span class="id" title="definition">coord</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#vbasis"><span class="id" title="definition">vbasis</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#82d810f9f90b79e8fe98d90a63070c32"><span class="id" title="notation">_i</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="VectorTheory.BigSumBasis"><span class="id" title="section">BigSumBasis</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="VectorTheory.BigSumBasis.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<a name="VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.vT"><span class="id" title="variable">vT</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="span_bigcat"><span class="id" title="lemma">span_bigcat</span></a> :<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><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.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.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#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="bigcat_free"><span class="id" title="lemma">bigcat_free</span></a> :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#free"><span class="id" title="definition">free</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><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.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="bigcat_basis"><span class="id" title="lemma">bigcat_basis</span></a> <span class="id" title="var">Us</span> (<span class="id" title="var">U</span> := (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#directv"><span class="id" title="abbreviation">directv</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <br/> - <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#cat"><span class="id" title="definition">cat</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><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.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#1871917561e26284874cb982a8cc32df"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis.Xs"><span class="id" title="variable">Xs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory.BigSumBasis"><span class="id" title="section">BigSumBasis</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#VectorTheory"><span class="id" title="section">VectorTheory</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">subvv</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="directv"><span class="id" title="abbreviation">directv</span></a> <span class="id" title="var">S</span> := (<a class="idref" href="mathcomp.algebra.vector.html#directv_def"><span class="id" title="definition">directv_def</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#Phantom"><span class="id" title="constructor">Phantom</span></a> <span class="id" title="var">_</span> <span class="id" title="var">S</span>%<span class="id" title="var">VS</span>)).<br/> - -<br/> -</div> - -<div class="doc"> - Linear functions over a vectType -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="LfunDefs"><span class="id" title="section">LfunDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="LfunDefs.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">Types</span> <span class="id" title="var">aT</span> <span class="id" title="var">vT</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunDefs.R"><span class="id" title="variable">R</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_key"><span class="id" title="lemma">lfun_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="fun_of_lfun_def"><span class="id" title="definition">fun_of_lfun_def</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> (<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.algebra.vector.html#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.algebra.vector.html#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.algebra.vector.html#r2v"><span class="id" title="definition">r2v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mulmxr"><span class="id" title="abbreviation">mulmxr</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#f2mx"><span class="id" title="definition">f2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.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#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v2r"><span class="id" title="definition">v2r</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="fun_of_lfun"><span class="id" title="definition">fun_of_lfun</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_key"><span class="id" title="lemma">lfun_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun_def"><span class="id" title="definition">fun_of_lfun_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">fun_of_lfun_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.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">fun_of_lfun</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/> -<span class="id" title="keyword">Definition</span> <a name="linfun_def"><span class="id" title="definition">linfun_def</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#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.vector.html#rT"><span class="id" title="variable">rT</span></a>) :=<br/> - <a class="idref" href="mathcomp.algebra.vector.html#Hom"><span class="id" title="constructor">Vector.Hom</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#lin1_mx"><span class="id" title="definition">lin1_mx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#v2r"><span class="id" title="definition">v2r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.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#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r2v"><span class="id" title="definition">r2v</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="linfun"><span class="id" title="definition">linfun</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_key"><span class="id" title="lemma">lfun_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#linfun_def"><span class="id" title="definition">linfun_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">linfun_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.algebra.vector.html#linfun"><span class="id" title="definition">linfun</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">Definition</span> <a name="id_lfun"><span class="id" title="definition">id_lfun</span></a> <span class="id" title="var">vT</span> := @<a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a> <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="keyword">Definition</span> <a name="comp_lfun"><span class="id" title="definition">comp_lfun</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">vT</span> <span class="id" title="var">rT</span> (<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.algebra.vector.html#vT"><span class="id" title="variable">vT</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#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">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.algebra.vector.html#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.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>) :=<br/> - <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">fun_of_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.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#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">fun_of_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LfunDefs"><span class="id" title="section">LfunDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">fun_of_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">Vector.hom</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">>-></span></a> <a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">Funclass</span></a>.<br/> -<span class="id" title="keyword">Notation</span> <a name="a300415caaff85fa92adc742a30b7dd0"><span class="id" title="notation">"</span></a>\1" := (@<a class="idref" href="mathcomp.algebra.vector.html#id_lfun"><span class="id" title="definition">id_lfun</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>) : <span class="id" title="var">lfun_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">"</span></a>f \o g" := (<a class="idref" href="mathcomp.algebra.vector.html#comp_lfun"><span class="id" title="definition">comp_lfun</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span>) : <span class="id" title="var">lfun_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LfunVspaceDefs"><span class="id" title="section">LfunVspaceDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="LfunVspaceDefs.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/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunVspaceDefs.K"><span class="id" title="variable">K</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="inv_lfun"><span class="id" title="definition">inv_lfun</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> (<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.algebra.vector.html#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.algebra.vector.html#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.algebra.vector.html#Hom"><span class="id" title="constructor">Vector.Hom</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#pinvmx"><span class="id" title="definition">pinvmx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#f2mx"><span class="id" title="definition">f2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="lker"><span class="id" title="definition">lker</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> (<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.algebra.vector.html#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.algebra.vector.html#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.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#f2mx"><span class="id" title="definition">f2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>)).<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_img_key"><span class="id" title="lemma">lfun_img_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="lfun_img_def"><span class="id" title="definition">lfun_img_def</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> <span class="id" title="var">f</span> (<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.algebra.vector.html#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#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.algebra.vector.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a> :=<br/> - <a class="idref" href="mathcomp.algebra.vector.html#mx2vs"><span class="id" title="definition">mx2vs</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2b431de65e6c1e23c1ae3a60262ea15"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2mx"><span class="id" title="definition">f2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_img"><span class="id" title="definition">lfun_img</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_img_key"><span class="id" title="lemma">lfun_img_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_img_def"><span class="id" title="definition">lfun_img_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_img_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.algebra.vector.html#lfun_img"><span class="id" title="definition">lfun_img</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/> -<span class="id" title="keyword">Definition</span> <a name="lfun_preim"><span class="id" title="definition">lfun_preim</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">rT</span> (<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.algebra.vector.html#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.algebra.vector.html#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">W</span> :=<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#lfun_img"><span class="id" title="definition">lfun_img</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#inv_lfun"><span class="id" title="definition">inv_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_img"><span class="id" title="definition">lfun_img</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#df663072855a4e0a1a944084f6a33d9e"><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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LfunVspaceDefs"><span class="id" title="section">LfunVspaceDefs</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="e6be4a5c85111d4111e3830a1680f652"><span class="id" title="notation">"</span></a>f ^-1" := (<a class="idref" href="mathcomp.algebra.vector.html#inv_lfun"><span class="id" title="definition">inv_lfun</span></a> <span class="id" title="var">f</span>) : <span class="id" title="var">lfun_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">"</span></a>f @: U" := (<a class="idref" href="mathcomp.algebra.vector.html#lfun_img"><span class="id" title="definition">lfun_img</span></a> <span class="id" title="var">f</span>%<span class="id" title="var">VF</span>%<span class="id" title="var">R</span> <span class="id" title="var">U</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 24) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">"</span></a>f @^-1: W" := (<a class="idref" href="mathcomp.algebra.vector.html#lfun_preim"><span class="id" title="definition">lfun_preim</span></a> <span class="id" title="var">f</span>%<span class="id" title="var">VF</span>%<span class="id" title="var">R</span> <span class="id" title="var">W</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 24) : <span class="id" title="var">vspace_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="limg"><span class="id" title="abbreviation">limg</span></a> <span class="id" title="var">f</span> := (<a class="idref" href="mathcomp.algebra.vector.html#lfun_img"><span class="id" title="definition">lfun_img</span></a> <span class="id" title="var">f</span> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LfunZmodType"><span class="id" title="section">LfunZmodType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LfunZmodType.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="LfunZmodType.aT"><span class="id" title="variable">aT</span></a> <a name="LfunZmodType.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <span class="id" title="var">h</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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_eqMixin"><span class="id" title="definition">lfun_eqMixin</span></a> := <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#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.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.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">lfun_eqType</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.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#lfun_eqMixin"><span class="id" title="definition">lfun_eqMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_choiceMixin"><span class="id" title="definition">lfun_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.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.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">lfun_choiceType</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.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#lfun_choiceMixin"><span class="id" title="definition">lfun_choiceMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_is_linear"><span class="id" title="lemma">lfun_is_linear</span></a> <span class="id" title="var">f</span> : <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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_additive</span> <span class="id" title="var">f</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.algebra.vector.html#lfun_is_linear"><span class="id" title="lemma">lfun_is_linear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>).<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_linear</span> <span class="id" title="var">f</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.algebra.vector.html#lfun_is_linear"><span class="id" title="lemma">lfun_is_linear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lfunE"><span class="id" title="lemma">lfunE</span></a> (<span class="id" title="var">ff</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunZmodType.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.vector.html#LfunZmodType.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b9a9030f88e15d1a3aacd4e8ec9a2391"><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.algebra.vector.html#ff"><span class="id" title="variable">ff</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ff"><span class="id" title="variable">ff</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fun_of_lfunK"><span class="id" title="lemma">fun_of_lfunK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> (@<a class="idref" href="mathcomp.algebra.vector.html#fun_of_lfun"><span class="id" title="definition">fun_of_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunZmodType.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunZmodType.aT"><span class="id" title="variable">aT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunZmodType.rT"><span class="id" title="variable">rT</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lfunP"><span class="id" title="lemma">lfunP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.vector.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#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.vector.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#4bfb4f2d0721ba668e3a802ab1b745a1"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="zero_lfun"><span class="id" title="definition">zero_lfun</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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#95d9fce2be73172d8ac56972e606629a"><span class="id" title="notation">\0</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="add_lfun"><span class="id" title="definition">add_lfun</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> := <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d85e5ec1adc01afcee458717bbaea5e5"><span class="id" title="notation">\+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="opp_lfun"><span class="id" title="definition">opp_lfun</span></a> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#a8ac36d488c8d5cdcfec5adcde894e5f"><span class="id" title="notation">-%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#a8ac36d488c8d5cdcfec5adcde894e5f"><span class="id" title="notation">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#8b4742e3f67816503ce4ab2f3b81c27e"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_addA"><span class="id" title="lemma">lfun_addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.algebra.vector.html#add_lfun"><span class="id" title="definition">add_lfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_addC"><span class="id" title="lemma">lfun_addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.algebra.vector.html#add_lfun"><span class="id" title="definition">add_lfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_add0"><span class="id" title="lemma">lfun_add0</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.algebra.vector.html#zero_lfun"><span class="id" title="definition">zero_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#add_lfun"><span class="id" title="definition">add_lfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lfun_addN"><span class="id" title="lemma">lfun_addN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.algebra.vector.html#zero_lfun"><span class="id" title="definition">zero_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#opp_lfun"><span class="id" title="definition">opp_lfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#add_lfun"><span class="id" title="definition">add_lfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_zmodMixin"><span class="id" title="definition">lfun_zmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodMixin"><span class="id" title="abbreviation">ZmodMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_addA"><span class="id" title="lemma">lfun_addA</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_addC"><span class="id" title="lemma">lfun_addC</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_add0"><span class="id" title="lemma">lfun_add0</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_addN"><span class="id" title="lemma">lfun_addN</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_zmodType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#lfun_zmodMixin"><span class="id" title="definition">lfun_zmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="zero_lfunE"><span class="id" title="lemma">zero_lfunE</span></a> <span class="id" title="var">x</span> : (0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0. <br/> -<span class="id" title="keyword">Lemma</span> <a name="add_lfunE"><span class="id" title="lemma">add_lfunE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="opp_lfunE"><span class="id" title="lemma">opp_lfunE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="sum_lfunE"><span class="id" title="lemma">sum_lfunE</span></a> <span class="id" title="var">I</span> (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">fs</span> : <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#LfunZmodType.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.algebra.vector.html#LfunZmodType.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">x</span> :<br/> - (<a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fs"><span class="id" title="variable">fs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fs"><span class="id" title="variable">fs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LfunZmodType"><span class="id" title="section">LfunZmodType</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LfunVectType"><span class="id" title="section">LfunVectType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LfunVectType.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="LfunVectType.aT"><span class="id" title="variable">aT</span></a> <a name="LfunVectType.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <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.algebra.vector.html#LfunVectType.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.algebra.vector.html#LfunVectType.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/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="scale_lfun"><span class="id" title="definition">scale_lfun</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6046a89d0c83e8d6f210d69ae527c5ae"><span class="id" title="notation">\*:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_scaleA"><span class="id" title="lemma">lfun_scaleA</span></a> <span class="id" title="var">k1</span> <span class="id" title="var">k2</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.vector.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#k2"><span class="id" title="variable">k2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.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#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#2d0cfb150261028f4ebd2ba355623dcc"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k2"><span class="id" title="variable">k2</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_scale1"><span class="id" title="lemma">lfun_scale1</span></a> <span class="id" title="var">f</span> : 1 <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_scaleDr"><span class="id" title="lemma">lfun_scaleDr</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f1</span> <span class="id" title="var">f2</span> : <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2"><span class="id" title="variable">f2</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.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#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2"><span class="id" title="variable">f2</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="lfun_scaleDl"><span class="id" title="lemma">lfun_scaleDl</span></a> <span class="id" title="var">f</span> <span class="id" title="var">k1</span> <span class="id" title="var">k2</span> : <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k2"><span class="id" title="variable">k2</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k1"><span class="id" title="variable">k1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k2"><span class="id" title="variable">k2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">*:</span></a><a class="idref" href="mathcomp.algebra.vector.html#56c5b67537d06f866a5342dee7b6401b"><span class="id" title="notation">l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_lmodMixin"><span class="id" title="definition">lfun_lmodMixin</span></a> := <br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodMixin"><span class="id" title="abbreviation">LmodMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_scaleA"><span class="id" title="lemma">lfun_scaleA</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_scale1"><span class="id" title="lemma">lfun_scale1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_scaleDr"><span class="id" title="lemma">lfun_scaleDr</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_scaleDl"><span class="id" title="lemma">lfun_scaleDl</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_lmodType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunVectType.R"><span class="id" title="variable">R</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.algebra.vector.html#LfunVectType.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.algebra.vector.html#LfunVectType.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.algebra.vector.html#lfun_lmodMixin"><span class="id" title="definition">lfun_lmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="scale_lfunE"><span class="id" title="lemma">scale_lfunE</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.algebra.vector.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.vector.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.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.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>. <br/> - -<br/> -</div> - -<div class="doc"> - GG: exists (Vector.Hom \o vec_mx) fails in the proof below in 8.3, - probably because of incomplete type unification. Will it work in 8.4? -</div> -<div class="code"> -<span class="id" title="keyword">Fact</span> <a name="lfun_vect_iso"><span class="id" title="lemma">lfun_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunVectType.aT"><span class="id" title="variable">aT</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#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunVectType.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.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.algebra.vector.html#LfunVectType.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.algebra.vector.html#LfunVectType.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/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_vectMixin"><span class="id" title="definition">lfun_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_vect_iso"><span class="id" title="lemma">lfun_vect_iso</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lfun_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunVectType.R"><span class="id" title="variable">R</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.algebra.vector.html#LfunVectType.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.algebra.vector.html#LfunVectType.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.algebra.vector.html#lfun_vectMixin"><span class="id" title="definition">lfun_vectMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LfunVectType"><span class="id" title="section">LfunVectType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="CompLfun"><span class="id" title="section">CompLfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="CompLfun.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="CompLfun.wT"><span class="id" title="variable">wT</span></a> <a name="CompLfun.aT"><span class="id" title="variable">aT</span></a> <a name="CompLfun.vT"><span class="id" title="variable">vT</span></a> <a name="CompLfun.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <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.algebra.vector.html#CompLfun.vT"><span class="id" title="variable">vT</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#CompLfun.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">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.algebra.vector.html#CompLfun.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.algebra.vector.html#CompLfun.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">h</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.algebra.vector.html#CompLfun.wT"><span class="id" title="variable">wT</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#CompLfun.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>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="id_lfunE"><span class="id" title="lemma">id_lfunE</span></a> <span class="id" title="var">u</span>: <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.algebra.vector.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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.vector.html#CompLfun.aT"><span class="id" title="variable">aT</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunE"><span class="id" title="lemma">comp_lfunE</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.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a>)%<span class="id" title="var">VF</span> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>). <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunA"><span class="id" title="lemma">comp_lfunA</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> <span class="id" title="var">h</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#h"><span class="id" title="variable">h</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.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#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#h"><span class="id" title="variable">h</span></a>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfun1l"><span class="id" title="lemma">comp_lfun1l</span></a> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><span class="id" title="notation">\1</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.algebra.vector.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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfun1r"><span class="id" title="lemma">comp_lfun1r</span></a> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfun0l"><span class="id" title="lemma">comp_lfun0l</span></a> <span class="id" title="var">g</span> : (0 <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.algebra.vector.html#g"><span class="id" title="variable">g</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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#CompLfun.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.algebra.vector.html#CompLfun.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/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfun0r"><span class="id" title="lemma">comp_lfun0r</span></a> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.algebra.vector.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> 0)%<span class="id" title="var">VF</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> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#CompLfun.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.algebra.vector.html#CompLfun.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/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunDl"><span class="id" title="lemma">comp_lfunDl</span></a> <span class="id" title="var">f1</span> <span class="id" title="var">f2</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#f1"><span class="id" title="variable">f1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f2"><span class="id" title="variable">f2</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">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#f1"><span class="id" title="variable">f1</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.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#f2"><span class="id" title="variable">f2</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.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunDr"><span class="id" title="lemma">comp_lfunDr</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g1</span> <span class="id" title="var">g2</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#g1"><span class="id" title="variable">g1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g2"><span class="id" title="variable">g2</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#g1"><span class="id" title="variable">g1</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#g2"><span class="id" title="variable">g2</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunNl"><span class="id" title="lemma">comp_lfunNl</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.vector.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">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunNr"><span class="id" title="lemma">comp_lfunNr</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#8d0566c961139ec21811f52ef0c317db"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#CompLfun"><span class="id" title="section">CompLfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_simp"><span class="id" title="definition">lfun_simp</span></a> :=<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#comp_lfunE"><span class="id" title="lemma">comp_lfunE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#scale_lfunE"><span class="id" title="lemma">scale_lfunE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#opp_lfunE"><span class="id" title="lemma">opp_lfunE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#add_lfunE"><span class="id" title="lemma">add_lfunE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sum_lfunE"><span class="id" title="lemma">sum_lfunE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfunE"><span class="id" title="lemma">lfunE</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#e6756e10c36f149b18b4a8741ed83079"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="ScaleCompLfun"><span class="id" title="section">ScaleCompLfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="ScaleCompLfun.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="ScaleCompLfun.aT"><span class="id" title="variable">aT</span></a> <a name="ScaleCompLfun.vT"><span class="id" title="variable">vT</span></a> <a name="ScaleCompLfun.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <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.algebra.vector.html#ScaleCompLfun.vT"><span class="id" title="variable">vT</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#ScaleCompLfun.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">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.algebra.vector.html#ScaleCompLfun.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.algebra.vector.html#ScaleCompLfun.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunZl"><span class="id" title="lemma">comp_lfunZl</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.vector.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">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="comp_lfunZr"><span class="id" title="lemma">comp_lfunZr</span></a> <span class="id" title="var">k</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#3b05480e39db306e67fadbc79d394529"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#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.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.vector.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>)%<span class="id" title="var">VF</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#ScaleCompLfun"><span class="id" title="section">ScaleCompLfun</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LinearImage"><span class="id" title="section">LinearImage</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LinearImage.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="LinearImage.aT"><span class="id" title="variable">aT</span></a> <a name="LinearImage.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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#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.algebra.vector.html#LinearImage.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.algebra.vector.html#LinearImage.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> <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.algebra.vector.html#LinearImage.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">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.algebra.vector.html#LinearImage.rT"><span class="id" title="variable">rT</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">Lemma</span> <a name="limgS"><span class="id" title="lemma">limgS</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#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#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#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="limg_line"><span class="id" title="lemma">limg_line</span></a> <span class="id" title="var">f</span> <span class="id" title="var">v</span> : (<a class="idref" href="mathcomp.algebra.vector.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#6231d90025dd46a75d146519d384c2b5"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.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="limg0"><span class="id" title="lemma">limg0</span></a> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.algebra.vector.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> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">VS</span>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_img"><span class="id" title="lemma">memv_img</span></a> <span class="id" title="var">f</span> <span class="id" title="var">v</span> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#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="memv_imgP"><span class="id" title="lemma">memv_imgP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">w</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#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.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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#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="lim0g"><span class="id" title="lemma">lim0g</span></a> <span class="id" title="var">U</span> : (0 <a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">@:</span></a> <a class="idref" href="mathcomp.algebra.vector.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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#LinearImage.rT"><span class="id" title="variable">rT</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="eq_in_limg"><span class="id" title="lemma">eq_in_limg</span></a> <span class="id" title="var">V</span> <span class="id" title="var">f</span> <span class="id" title="var">g</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.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#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</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#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="limg_add"><span class="id" title="lemma">limg_add</span></a> <span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_img"><span class="id" title="definition">lfun_img</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">:</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#e69c60b553f06d3463460a9f4cee3c01"><span class="id" title="notation">}</span></a>%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_sum"><span class="id" title="lemma">limg_sum</span></a> <span class="id" title="var">f</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">Us</span> :<br/> - (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</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.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.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#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.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="limg_cap"><span class="id" title="lemma">limg_cap</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.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#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="limg_bigcap"><span class="id" title="lemma">limg_bigcap</span></a> <span class="id" title="var">f</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">Us</span> :<br/> - (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</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#65f0b8f4dcd5cfd6280e7c777466601a"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#d6d86a173f27b353ac20fae8506c5cf0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.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#Us"><span class="id" title="variable">Us</span></a> <a class="idref" href="mathcomp.algebra.vector.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="limg_span"><span class="id" title="lemma">limg_span</span></a> <span class="id" title="var">f</span> <span class="id" title="var">X</span> : (<a class="idref" href="mathcomp.algebra.vector.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#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.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#fb707feae4acc20b3f4404c2e515b2a1"><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.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.vector.html#fb707feae4acc20b3f4404c2e515b2a1"><span class="id" title="notation">>></span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lfunPn"><span class="id" title="lemma">lfunPn</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</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">u</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="inv_lfun_def"><span class="id" title="lemma">inv_lfun_def</span></a> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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> <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.algebra.vector.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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_lfunVK"><span class="id" title="lemma">limg_lfunVK</span></a> <span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#limg"><span class="id" title="abbreviation">limg</span></a> <a class="idref" href="mathcomp.algebra.vector.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.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#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.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.vector.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.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lkerE"><span class="id" title="lemma">lkerE</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#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#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="memv_ker"><span class="id" title="lemma">memv_ker</span></a> <span class="id" title="var">f</span> <span class="id" title="var">v</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqlfunP"><span class="id" title="lemma">eqlfunP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">g</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.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a>)).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eqlfun_inP"><span class="id" title="lemma">eqlfun_inP</span></a> <span class="id" title="var">V</span> <span class="id" title="var">f</span> <span class="id" title="var">g</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.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.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#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#g"><span class="id" title="variable">g</span></a>))%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_ker_compl"><span class="id" title="lemma">limg_ker_compl</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><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.algebra.vector.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="http://coq.inria.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#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#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="limg_ker_dim"><span class="id" title="lemma">limg_ker_dim</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <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.algebra.vector.html#f"><span class="id" title="variable">f</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#0dacc1786c5ba797d47dd85006231633"><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.algebra.vector.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#U"><span class="id" title="variable">U</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_dim_eq"><span class="id" title="lemma">limg_dim_eq</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <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.algebra.vector.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> 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.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.algebra.vector.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#U"><span class="id" title="variable">U</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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_basis_of"><span class="id" title="lemma">limg_basis_of</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> <span class="id" title="var">X</span> :<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <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.algebra.vector.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> 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.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#basis_of"><span class="id" title="definition">basis_of</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#X"><span class="id" title="variable">X</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0P"><span class="id" title="lemma">lker0P</span></a> <span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.algebra.vector.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="limg_ker0"><span class="id" title="lemma">limg_ker0</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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#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#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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#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="eq_limg_ker0"><span class="id" title="lemma">eq_limg_ker0</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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#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> <a class="idref" href="mathcomp.algebra.vector.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#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_lfunK"><span class="id" title="lemma">lker0_lfunK</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.algebra.vector.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="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.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>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_compVf"><span class="id" title="lemma">lker0_compVf</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.algebra.vector.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.algebra.vector.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> <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.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.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">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LinearImage"><span class="id" title="section">LinearImage</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FixedSpace"><span class="id" title="section">FixedSpace</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="FixedSpace.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="FixedSpace.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <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.algebra.vector.html#FixedSpace.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><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.algebra.vector.html#FixedSpace.vT"><span class="id" title="variable">vT</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">Definition</span> <a name="fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <span class="id" title="var">f</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.algebra.vector.html#FixedSpace.vT"><span class="id" title="variable">vT</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#lker"><span class="id" title="definition">lker</span></a> (<a class="idref" href="mathcomp.algebra.vector.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.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="fixedSpaceP"><span class="id" title="lemma">fixedSpaceP</span></a> <span class="id" title="var">f</span> <span class="id" title="var">a</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#a"><span class="id" title="variable">a</span></a>) (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedSpacesP"><span class="id" title="lemma">fixedSpacesP</span></a> <span class="id" title="var">f</span> <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.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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#876aa133fb3472bffd492f74ff496035"><span class="id" title="notation">=1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#id"><span class="id" title="abbreviation">id</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a> (<a class="idref" href="mathcomp.algebra.vector.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#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fixedSpace_limg"><span class="id" title="lemma">fixedSpace_limg</span></a> <span class="id" title="var">f</span> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.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#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.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="fixedSpace_id"><span class="id" title="lemma">fixedSpace_id</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#fixedSpace"><span class="id" title="definition">fixedSpace</span></a> <a class="idref" href="mathcomp.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><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.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.algebra.vector.html#FixedSpace.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#6a45c77a68f1019c1f3b35b71c415ac8"><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.algebra.vector.html#FixedSpace"><span class="id" title="section">FixedSpace</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LinAut"><span class="id" title="section">LinAut</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LinAut.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="LinAut.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>) (<a name="LinAut.f"><span class="id" title="variable">f</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.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>).<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="LinAut.kerf0"><span class="id" title="variable">kerf0</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#lker"><span class="id" title="definition">lker</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LinAut.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="lker0_limgf"><span class="id" title="lemma">lker0_limgf</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#limg"><span class="id" title="abbreviation">limg</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LinAut.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#fullv"><span class="id" title="definition">fullv</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_lfunVK"><span class="id" title="lemma">lker0_lfunVK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LinAut.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.vector.html#LinAut.f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_compfV"><span class="id" title="lemma">lker0_compfV</span></a> : (<a class="idref" href="mathcomp.algebra.vector.html#LinAut.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.algebra.vector.html#LinAut.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> <a class="idref" href="http://coq.inria.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="lker0_compVKf"><span class="id" title="lemma">lker0_compVKf</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.html#LinAut.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.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#LinAut.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> <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.algebra.vector.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>)%<span class="id" title="var">VF</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#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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></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.algebra.vector.html#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.algebra.vector.html#LinAut.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_compKf"><span class="id" title="lemma">lker0_compKf</span></a> <span class="id" title="var">aT</span> <span class="id" title="var">g</span> : (<a class="idref" href="mathcomp.algebra.vector.html#LinAut.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> <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.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#LinAut.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.algebra.vector.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>)%<span class="id" title="var">VF</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#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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></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.algebra.vector.html#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.algebra.vector.html#LinAut.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#69ba2d17644c8094f54beafb02a5482d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_compfK"><span class="id" title="lemma">lker0_compfK</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">h</span> : (<a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#h"><span class="id" title="variable">h</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.algebra.vector.html#LinAut.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">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LinAut.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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#h"><span class="id" title="variable">h</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#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.algebra.vector.html#LinAut.vT"><span class="id" title="variable">vT</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#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/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker0_compfVK"><span class="id" title="lemma">lker0_compfVK</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">h</span> : (<a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#h"><span class="id" title="variable">h</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.algebra.vector.html#LinAut.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><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">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#eab9df6c82f113063f56340ec9fe1f50"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LinAut.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#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#h"><span class="id" title="variable">h</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#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.algebra.vector.html#LinAut.vT"><span class="id" title="variable">vT</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#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/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LinAut"><span class="id" title="section">LinAut</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LinearImageComp"><span class="id" title="section">LinearImageComp</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LinearImageComp.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="LinearImageComp.aT"><span class="id" title="variable">aT</span></a> <a name="LinearImageComp.vT"><span class="id" title="variable">vT</span></a> <a name="LinearImageComp.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <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.algebra.vector.html#LinearImageComp.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.algebra.vector.html#LinearImageComp.vT"><span class="id" title="variable">vT</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.algebra.vector.html#LinearImageComp.vT"><span class="id" title="variable">vT</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#LinearImageComp.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.algebra.vector.html#LinearImageComp.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">Lemma</span> <a name="lim1g"><span class="id" title="lemma">lim1g</span></a> <span class="id" title="var">U</span> : (<a class="idref" href="mathcomp.algebra.vector.html#a300415caaff85fa92adc742a30b7dd0"><span class="id" title="notation">\1</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#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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_comp"><span class="id" title="lemma">limg_comp</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.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#g"><span class="id" title="variable">g</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.algebra.vector.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#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><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.algebra.vector.html#LinearImageComp"><span class="id" title="section">LinearImageComp</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LinearPreimage"><span class="id" title="section">LinearPreimage</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LinearPreimage.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="LinearPreimage.aT"><span class="id" title="variable">aT</span></a> <a name="LinearPreimage.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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> : <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.algebra.vector.html#LinearPreimage.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.algebra.vector.html#LinearPreimage.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.algebra.vector.html#LinearPreimage.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">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.algebra.vector.html#LinearPreimage.rT"><span class="id" title="variable">rT</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">Lemma</span> <a name="lpreim_cap_limg"><span class="id" title="lemma">lpreim_cap_limg</span></a> <span class="id" title="var">f</span> <span class="id" title="var">W</span> : (<a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#limg"><span class="id" title="abbreviation">limg</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.algebra.vector.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="lpreim0"><span class="id" title="lemma">lpreim0</span></a> <span class="id" title="var">f</span> : (<a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</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#6cd0f7b28b6092304087c7049437bb1a"><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.algebra.vector.html#f"><span class="id" title="variable">f</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lpreimS"><span class="id" title="lemma">lpreimS</span></a> <span class="id" title="var">f</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : (<a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#W"><span class="id" title="variable">W</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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.algebra.vector.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="lpreimK"><span class="id" title="lemma">lpreimK</span></a> <span class="id" title="var">f</span> <span class="id" title="var">W</span> : (<a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</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#limg"><span class="id" title="abbreviation">limg</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</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#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.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.vector.html#1b2203db576bf155aeb3bf95910647bd"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_preim"><span class="id" title="lemma">memv_preim</span></a> <span class="id" title="var">f</span> <span class="id" title="var">u</span> <span class="id" title="var">W</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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="http://coq.inria.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#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.vector.html#872c28a0b2e2c8187f0f70414a5bd418"><span class="id" title="notation">@^-1:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LinearPreimage"><span class="id" title="section">LinearPreimage</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="LfunAlgebra"><span class="id" title="section">LfunAlgebra</span></a>.<br/> -</div> - -<div class="doc"> - This section is a bit of a place holder: the instances we build here can't - be canonical because we are missing an interface for proper vectTypes, - would sit between Vector and Falgebra. For now, we just supply structure - definitions here and supply actual instances for F-algebras in a submodule - of the algebra library (there is currently no actual use of the End(vT) - algebra structure). Also note that the unit ring structure is missing. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="LfunAlgebra.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="LfunAlgebra.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a>).<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="LfunAlgebra.vT_proper"><span class="id" title="variable">vT_proper</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</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">Fact</span> <a name="lfun1_neq0"><span class="id" title="lemma">lfun1_neq0</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.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#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.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_comp_ringMixin"><span class="id" title="definition">lfun_comp_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.algebra.vector.html#comp_lfunA"><span class="id" title="lemma">comp_lfunA</span></a> <a class="idref" href="mathcomp.algebra.vector.html#comp_lfun1l"><span class="id" title="lemma">comp_lfun1l</span></a> <a class="idref" href="mathcomp.algebra.vector.html#comp_lfun1r"><span class="id" title="lemma">comp_lfun1r</span></a> <a class="idref" href="mathcomp.algebra.vector.html#comp_lfunDl"><span class="id" title="lemma">comp_lfunDl</span></a> <a class="idref" href="mathcomp.algebra.vector.html#comp_lfunDr"><span class="id" title="lemma">comp_lfunDr</span></a><br/> - <a class="idref" href="mathcomp.algebra.vector.html#lfun1_neq0"><span class="id" title="lemma">lfun1_neq0</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_comp_ringType"><span class="id" title="definition">lfun_comp_ringType</span></a> := <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#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.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</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#lfun_comp_ringMixin"><span class="id" title="definition">lfun_comp_ringMixin</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - In the standard endomorphism ring product is categorical composition. -</div> -<div class="code"> -<span class="id" title="keyword">Definition</span> <a name="lfun_ringMixin"><span class="id" title="definition">lfun_ringMixin</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.mixin_of"><span class="id" title="record">GRing.Ring.mixin_of</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#lfun_zmodType"><span class="id" title="definition">lfun_zmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</span></a>) :=<br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.converse_ringMixin"><span class="id" title="definition">GRing.converse_ringMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_comp_ringType"><span class="id" title="definition">lfun_comp_ringType</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_ringType"><span class="id" title="definition">lfun_ringType</span></a> := <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#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.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</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#lfun_ringMixin"><span class="id" title="definition">lfun_ringMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_lalgType"><span class="id" title="definition">lfun_lalgType</span></a> := <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#ac25e41f1dd8deef399bcb0123249366"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#ac25e41f1dd8deef399bcb0123249366"><span class="id" title="notation">lalgType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ac25e41f1dd8deef399bcb0123249366"><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.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#ac25e41f1dd8deef399bcb0123249366"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lalgebra.Exports.LalgType"><span class="id" title="abbreviation">LalgType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.vector.html#lfun_ringType"><span class="id" title="definition">lfun_ringType</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">k</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span> ⇒ <a class="idref" href="mathcomp.algebra.vector.html#comp_lfunZr"><span class="id" title="lemma">comp_lfunZr</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>)<a class="idref" href="mathcomp.algebra.ssralg.html#ac25e41f1dd8deef399bcb0123249366"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="lfun_algType"><span class="id" title="definition">lfun_algType</span></a> := <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#93568324863779f91a1c79d8a55f7d2b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#93568324863779f91a1c79d8a55f7d2b"><span class="id" title="notation">algType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#93568324863779f91a1c79d8a55f7d2b"><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.algebra.vector.html#LfunAlgebra.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#93568324863779f91a1c79d8a55f7d2b"><span class="id" title="notation">for</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.algebra.vector.html#LfunAlgebra.R"><span class="id" title="variable">R</span></a> <span class="id" title="var">_</span> (<span class="id" title="keyword">fun</span> <span class="id" title="var">k</span> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.algebra.vector.html#lfun_lalgType"><span class="id" title="definition">lfun_lalgType</span></a>) ⇒ <a class="idref" href="mathcomp.algebra.vector.html#comp_lfunZl"><span class="id" title="lemma">comp_lfunZl</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.algebra.vector.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.vector.html#x"><span class="id" title="variable">x</span></a>)<a class="idref" href="mathcomp.algebra.ssralg.html#93568324863779f91a1c79d8a55f7d2b"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#LfunAlgebra"><span class="id" title="section">LfunAlgebra</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Projection"><span class="id" title="section">Projection</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="Projection.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="Projection.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.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.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.algebra.vector.html#Projection.vT"><span class="id" title="variable">vT</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">Definition</span> <a name="daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#Hom"><span class="id" title="constructor">Vector.Hom</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#proj_mx"><span class="id" title="definition">proj_mx</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#vs2mx"><span class="id" title="definition">vs2mx</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)).<br/> -<span class="id" title="keyword">Definition</span> <a name="projv"><span class="id" title="definition">projv</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">C</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="addv_pi1"><span class="id" title="definition">addv_pi1</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="addv_pi2"><span class="id" title="definition">addv_pi2</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#26649b53bcf2bdf39e3652daee024b53"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_pi"><span class="id" title="lemma">memv_pi</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#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_proj"><span class="id" title="lemma">memv_proj</span></a> <span class="id" title="var">U</span> <span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_pi1"><span class="id" title="lemma">memv_pi1</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#addv_pi1"><span class="id" title="definition">addv_pi1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_pi2"><span class="id" title="lemma">memv_pi2</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#addv_pi2"><span class="id" title="definition">addv_pi2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="daddv_pi_id"><span class="id" title="lemma">daddv_pi_id</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">u</span> : (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<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#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="daddv_pi_proj"><span class="id" title="lemma">daddv_pi_proj</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">w</span> (<span class="id" title="var">pi</span> := <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) :<br/> - (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<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#pi"><span class="id" title="variable">pi</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#pi"><span class="id" title="variable">pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pi"><span class="id" title="variable">pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="daddv_pi_add"><span class="id" title="lemma">daddv_pi_add</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="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#b899b61e5904c0473162dcb0767b8bcc"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0)%<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#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.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#daddv_pi"><span class="id" title="definition">daddv_pi</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="projv_id"><span class="id" title="lemma">projv_id</span></a> <span class="id" title="var">U</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="projv_proj"><span class="id" title="lemma">projv_proj</span></a> <span class="id" title="var">U</span> <span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_projC"><span class="id" title="lemma">memv_projC</span></a> <span class="id" title="var">U</span> <span class="id" title="var">w</span> : <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#51dc792c356ca1a71a3094b50d6bb2fb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.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.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="limg_proj"><span class="id" title="lemma">limg_proj</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.vector.html#limg"><span class="id" title="abbreviation">limg</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="lker_proj"><span class="id" title="lemma">lker_proj</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.algebra.vector.html#projv"><span class="id" title="definition">projv</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.vector.html#d14563a1c547cc3967fcf20b4de46bd1"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">VS</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_pi1_proj"><span class="id" title="lemma">addv_pi1_proj</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">w</span> (<span class="id" title="var">pi1</span> := <a class="idref" href="mathcomp.algebra.vector.html#addv_pi1"><span class="id" title="definition">addv_pi1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) : <a class="idref" href="mathcomp.algebra.vector.html#pi1"><span class="id" title="variable">pi1</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#pi1"><span class="id" title="variable">pi1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pi1"><span class="id" title="variable">pi1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_pi2_id"><span class="id" title="lemma">addv_pi2_id</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_pi2"><span class="id" title="definition">addv_pi2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_pi2_proj"><span class="id" title="lemma">addv_pi2_proj</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">w</span> (<span class="id" title="var">pi2</span> := <a class="idref" href="mathcomp.algebra.vector.html#addv_pi2"><span class="id" title="definition">addv_pi2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a>) : <a class="idref" href="mathcomp.algebra.vector.html#pi2"><span class="id" title="variable">pi2</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#pi2"><span class="id" title="variable">pi2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pi2"><span class="id" title="variable">pi2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="addv_pi1_pi2"><span class="id" title="lemma">addv_pi1_pi2</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="mathcomp.algebra.vector.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.algebra.vector.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.algebra.vector.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">VS</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_pi1"><span class="id" title="definition">addv_pi1</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#c7f78cf1f6a5e4f664654f7d671ca752"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_pi2"><span class="id" title="definition">addv_pi2</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Projection.Sumv_Pi"><span class="id" title="section">Sumv_Pi</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="Projection.Sumv_Pi.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.eqType"><span class="id" title="abbreviation">eqType</span></a>) (<a name="Projection.Sumv_Pi.r0"><span class="id" title="variable">r0</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<a name="Projection.Sumv_Pi.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) (<a name="Projection.Sumv_Pi.Vs"><span class="id" title="variable">Vs</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.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.algebra.vector.html#Projection.vT"><span class="id" title="variable">vT</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">Let</span> <a name="Projection.Sumv_Pi.sumv_pi_rec"><span class="id" title="variable">sumv_pi_rec</span></a> <span class="id" title="var">i</span> :=<br/> - <span class="id" title="keyword">fix</span> <span class="id" title="var">loop</span> <span class="id" title="var">r</span> := <span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.algebra.vector.html#r"><span class="id" title="variable">r</span></a> <span class="id" title="keyword">is</span> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <span class="id" title="var">r1</span> <span class="id" title="keyword">then</span><br/> - <span class="id" title="keyword">let</span> <span class="id" title="var">V1</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">k</span> <a class="idref" href="mathcomp.algebra.vector.html#4035d32524f7ed0a087ce5476e9fa4fc"><span class="id" title="notation"><-</span></a> <span class="id" title="var">r1</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#Projection.Sumv_Pi.Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#k"><span class="id" title="variable">k</span></a>)%<span class="id" title="var">VS</span> <span class="id" title="tactic">in</span><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.vector.html#addv_pi1"><span class="id" title="definition">addv_pi1</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.Vs"><span class="id" title="variable">Vs</span></a> <span class="id" title="var">j</span>) <a class="idref" href="mathcomp.algebra.vector.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#loop"><span class="id" title="variable">loop</span></a> <span class="id" title="var">r1</span> <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.algebra.vector.html#addv_pi2"><span class="id" title="definition">addv_pi2</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.Vs"><span class="id" title="variable">Vs</span></a> <span class="id" title="var">j</span>) <a class="idref" href="mathcomp.algebra.vector.html#V1"><span class="id" title="variable">V1</span></a>)%<span class="id" title="var">VF</span><br/> - <span class="id" title="keyword">else</span> 0.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="sumV"><span class="id" title="abbreviation">sumV</span></a> := (<a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.r0"><span class="id" title="variable">r0</span></a> <a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#698f0a83aea6ff7e6bab92128464dfdf"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>.<br/> -<span class="id" title="keyword">Definition</span> <a name="sumv_pi_for"><span class="id" title="definition">sumv_pi_for</span></a> <span class="id" title="var">V</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumV"><span class="id" title="abbreviation">sumV</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">i</span> ⇒ <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.sumv_pi_rec"><span class="id" title="variable">sumv_pi_rec</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.r0"><span class="id" title="variable">r0</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="Projection.Sumv_Pi.V"><span class="id" title="variable">V</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.algebra.vector.html#Projection.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>) (<a name="Projection.Sumv_Pi.defV"><span class="id" title="variable">defV</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumV"><span class="id" title="abbreviation">sumV</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="memv_sum_pi"><span class="id" title="lemma">memv_sum_pi</span></a> <span class="id" title="var">i</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#sumv_pi_for"><span class="id" title="definition">sumv_pi_for</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.defV"><span class="id" title="variable">defV</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sumv_pi_uniq_sum"><span class="id" title="lemma">sumv_pi_uniq_sum</span></a> <span class="id" title="var">v</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.seq.html#uniq"><span class="id" title="definition">uniq</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#filter"><span class="id" title="definition">filter</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.r0"><span class="id" title="variable">r0</span></a>) <a class="idref" href="http://coq.inria.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#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.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><br/> - <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.r0"><span class="id" title="variable">r0</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0e493beb85c9c1b3ab2241ceeaa98b08"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumv_pi_for"><span class="id" title="definition">sumv_pi_for</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi.defV"><span class="id" title="variable">defV</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Projection.Sumv_Pi"><span class="id" title="section">Sumv_Pi</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Projection"><span class="id" title="section">Projection</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="sumv_pi"><span class="id" title="abbreviation">sumv_pi</span></a> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.vector.html#sumv_pi_for"><span class="id" title="definition">sumv_pi_for</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <span class="id" title="var">V</span>)).<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SumvPi"><span class="id" title="section">SumvPi</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> (<a name="SumvPi.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="SumvPi.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sumv_pi_sum"><span class="id" title="lemma">sumv_pi_sum</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.vector.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">Vs</span> <span class="id" title="var">v</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.algebra.vector.html#SumvPi.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>)<br/> - (<span class="id" title="var">defV</span> : <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#ba39b0b41d2fece33087d94b529792d5"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f43f2e9c8e0cc7a634fe022790373569"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumv_pi_for"><span class="id" title="definition">sumv_pi_for</span></a> <a class="idref" href="mathcomp.algebra.vector.html#defV"><span class="id" title="variable">defV</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.vector.html#SumvPi.vT"><span class="id" title="variable">vT</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sumv_pi_nat_sum"><span class="id" title="lemma">sumv_pi_nat_sum</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">Vs</span> <span class="id" title="var">v</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.algebra.vector.html#SumvPi.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">}</span></a>)<br/> - (<span class="id" title="var">defV</span> : <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.vector.html#4d69041d3a70e211b209da6bfb88302e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Vs"><span class="id" title="variable">Vs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">VS</span>) :<br/> - <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.vector.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#23e63ed3c136421c46b0fc4d518dd1fb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#sumv_pi_for"><span class="id" title="definition">sumv_pi_for</span></a> <a class="idref" href="mathcomp.algebra.vector.html#defV"><span class="id" title="variable">defV</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#b8b2ebc8e1a8b9aa935c0702efb5dccf"><span class="id" title="notation">:></span></a> <a class="idref" href="mathcomp.algebra.vector.html#SumvPi.vT"><span class="id" title="variable">vT</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#SumvPi"><span class="id" title="section">SumvPi</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="SubVector"><span class="id" title="section">SubVector</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Turn a {vspace V} into a vectType -</div> -<div class="code"> -<span class="id" title="keyword">Variable</span> (<a name="SubVector.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="SubVector.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>) (<a name="SubVector.U"><span class="id" title="variable">U</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.vector.html#95065d7eff417cb87497b35ad25bda41"><span class="id" title="notation">vspace</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vT"><span class="id" title="variable">vT</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">Inductive</span> <a name="subvs_of"><span class="id" title="inductive">subvs_of</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#predArgType"><span class="id" title="definition">predArgType</span></a> := <a name="Subvs"><span class="id" title="constructor">Subvs</span></a> <span class="id" title="var">u</span> & <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#SubVector.U"><span class="id" title="variable">U</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="vsval"><span class="id" title="definition">vsval</span></a> <span class="id" title="var">w</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.vector.html#Subvs"><span class="id" title="constructor">Subvs</span></a> <span class="id" title="var">u</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.vector.html#w"><span class="id" title="variable">w</span></a> <span class="id" title="tactic">in</span> <span class="id" title="var">u</span>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_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.algebra.vector.html#vsval"><span class="id" title="definition">vsval</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="subvs_eqMixin"><span class="id" title="definition">subvs_eqMixin</span></a> := <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#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.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</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">subvs_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.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_eqMixin"><span class="id" title="definition">subvs_eqMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_choiceMixin"><span class="id" title="definition">subvs_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.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</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">subvs_choiceType</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.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_choiceMixin"><span class="id" title="definition">subvs_choiceMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_zmodMixin"><span class="id" title="definition">subvs_zmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#f379225ec8dfc5d660cf07deb0b2efb4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f379225ec8dfc5d660cf07deb0b2efb4"><span class="id" title="notation">zmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f379225ec8dfc5d660cf07deb0b2efb4"><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.algebra.ssralg.html#f379225ec8dfc5d660cf07deb0b2efb4"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f379225ec8dfc5d660cf07deb0b2efb4"><span class="id" title="notation"><:]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_zmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_zmodMixin"><span class="id" title="definition">subvs_zmodMixin</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_lmodMixin"><span class="id" title="definition">subvs_lmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#38b3ea7fc6d29c65cc1ec0b680489dc7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#38b3ea7fc6d29c65cc1ec0b680489dc7"><span class="id" title="notation">lmodMixin</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38b3ea7fc6d29c65cc1ec0b680489dc7"><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.algebra.ssralg.html#38b3ea7fc6d29c65cc1ec0b680489dc7"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#38b3ea7fc6d29c65cc1ec0b680489dc7"><span class="id" title="notation"><:]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_lmodType</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Lmodule.Exports.LmodType"><span class="id" title="abbreviation">LmodType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#SubVector.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.algebra.vector.html#subvs_lmodMixin"><span class="id" title="definition">subvs_lmodMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="subvsP"><span class="id" title="lemma">subvsP</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.algebra.vector.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.algebra.vector.html#SubVector.U"><span class="id" title="variable">U</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="subvs_inj"><span class="id" title="lemma">subvs_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="congr_subvs"><span class="id" title="lemma">congr_subvs</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.algebra.vector.html#v"><span class="id" title="variable">v</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vsval_is_linear"><span class="id" title="lemma">vsval_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.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a>. <br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsval_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval_is_linear"><span class="id" title="lemma">vsval_is_linear</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsval_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval_is_linear"><span class="id" title="lemma">vsval_is_linear</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="vsproj_key"><span class="id" title="lemma">vsproj_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="vsproj_def"><span class="id" title="definition">vsproj_def</span></a> <span class="id" title="var">u</span> := <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#memv_proj"><span class="id" title="lemma">memv_proj</span></a> <a class="idref" href="mathcomp.algebra.vector.html#SubVector.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="vsproj"><span class="id" title="definition">vsproj</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsproj_key"><span class="id" title="lemma">vsproj_key</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsproj_def"><span class="id" title="definition">vsproj_def</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsproj_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.algebra.vector.html#vsproj"><span class="id" title="definition">vsproj</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="vsprojK"><span class="id" title="lemma">vsprojK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.html#SubVector.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.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsproj"><span class="id" title="definition">vsproj</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#8c08d4203604dbed63e7afa9b689d858"><span class="id" title="notation">}</span></a>.<br/> - <span class="id" title="keyword">Lemma</span> <a name="vsvalK"><span class="id" title="lemma">vsvalK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsval"><span class="id" title="definition">vsval</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsproj"><span class="id" title="definition">vsproj</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="vsproj_is_linear"><span class="id" title="lemma">vsproj_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.algebra.vector.html#vsproj"><span class="id" title="definition">vsproj</span></a>.<br/> - <span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsproj_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsproj_is_linear"><span class="id" title="lemma">vsproj_is_linear</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">vsproj_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Linear.Exports.AddLinear"><span class="id" title="abbreviation">AddLinear</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vsproj_is_linear"><span class="id" title="lemma">vsproj_is_linear</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="subvs_vect_iso"><span class="id" title="lemma">subvs_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#axiom"><span class="id" title="abbreviation">Vector.axiom</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#SubVector.U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#subvs_of"><span class="id" title="inductive">subvs_of</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="subvs_vectMixin"><span class="id" title="definition">subvs_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#subvs_vect_iso"><span class="id" title="lemma">subvs_vect_iso</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">subvs_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#SubVector.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.algebra.vector.html#subvs_vectMixin"><span class="id" title="definition">subvs_vectMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#SubVector"><span class="id" title="section">SubVector</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="MatrixVectType"><span class="id" title="section">MatrixVectType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="MatrixVectType.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="MatrixVectType.m"><span class="id" title="variable">m</span></a> <a name="MatrixVectType.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/> - -<br/> -</div> - -<div class="doc"> - The apparently useless => /= in line 1 of the proof performs some evar - expansions that the Ltac interpretation of exists is incapable of doing. -</div> -<div class="code"> -<span class="id" title="keyword">Fact</span> <a name="matrix_vect_iso"><span class="id" title="lemma">matrix_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">)</span></a>.<br/> -<span class="id" title="keyword">Definition</span> <a name="matrix_vectMixin"><span class="id" title="definition">matrix_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#matrix_vect_iso"><span class="id" title="lemma">matrix_vect_iso</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">matrix_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c0a062cce31174bb4a1f05fb9cee844"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.vector.html#matrix_vectMixin"><span class="id" title="definition">matrix_vectMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#MatrixVectType"><span class="id" title="section">MatrixVectType</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - A ring is a one-dimension vector space -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="RegularVectType"><span class="id" title="section">RegularVectType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="RegularVectType.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="regular_vect_iso"><span class="id" title="lemma">regular_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> 1 <a class="idref" href="mathcomp.algebra.vector.html#RegularVectType.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>.<br/> -<span class="id" title="keyword">Definition</span> <a name="regular_vectMixin"><span class="id" title="definition">regular_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#regular_vect_iso"><span class="id" title="lemma">regular_vect_iso</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#RegularVectType.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.vector.html#RegularVectType.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.algebra.vector.html#regular_vectMixin"><span class="id" title="definition">regular_vectMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#RegularVectType"><span class="id" title="section">RegularVectType</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - External direct product of two vectTypes. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="ProdVector"><span class="id" title="section">ProdVector</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="ProdVector.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="ProdVector.vT1"><span class="id" title="variable">vT1</span></a> <a name="ProdVector.vT2"><span class="id" title="variable">vT2</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="pair_vect_iso"><span class="id" title="lemma">pair_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ProdVector.vT1"><span class="id" title="variable">vT1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.vector.html#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ProdVector.vT2"><span class="id" title="variable">vT2</span></a>) (<a class="idref" href="mathcomp.algebra.vector.html#ProdVector.vT1"><span class="id" title="variable">vT1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ProdVector.vT2"><span class="id" title="variable">vT2</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="pair_vectMixin"><span class="id" title="definition">pair_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#pair_vect_iso"><span class="id" title="lemma">pair_vect_iso</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">pair_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ProdVector.R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#ProdVector.vT1"><span class="id" title="variable">vT1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#11c698c8685bb8ab1cf725545c085ac4"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ProdVector.vT2"><span class="id" title="variable">vT2</span></a>) <a class="idref" href="mathcomp.algebra.vector.html#pair_vectMixin"><span class="id" title="definition">pair_vectMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#ProdVector"><span class="id" title="section">ProdVector</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Function from a finType into a ring form a vectype. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="FunVectType"><span class="id" title="section">FunVectType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> (<a name="FunVectType.I"><span class="id" title="variable">I</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<a name="FunVectType.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="FunVectType.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#R"><span class="id" title="variable">R</span></a>).<br/> - -<br/> -</div> - -<div class="doc"> - Type unification with exist is again a problem in this proof. -</div> -<div class="code"> -<span class="id" title="keyword">Fact</span> <a name="ffun_vect_iso"><span class="id" title="lemma">ffun_vect_iso</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#axiom"><span class="id" title="abbreviation">Vector.axiom</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.vector.html#FunVectType.I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</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#dim"><span class="id" title="definition">Vector.dim</span></a> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType.vT"><span class="id" title="variable">vT</span></a>) <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="ffun_vectMixin"><span class="id" title="definition">ffun_vectMixin</span></a> := <a class="idref" href="mathcomp.algebra.vector.html#VectMixin"><span class="id" title="abbreviation">VectMixin</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ffun_vect_iso"><span class="id" title="lemma">ffun_vect_iso</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ffun_vectType</span> := <a class="idref" href="mathcomp.algebra.vector.html#VectType"><span class="id" title="abbreviation">VectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">ffun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.ssreflect.finfun.html#31493a873acc18a8368490ef56022c0c"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.algebra.vector.html#ffun_vectMixin"><span class="id" title="definition">ffun_vectMixin</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#FunVectType"><span class="id" title="section">FunVectType</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">exp_vectType</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">vT</span> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>) <span class="id" title="var">n</span> :=<br/> - <a class="idref" href="mathcomp.algebra.vector.html#175c99cb2333cd9da7aa1406562b4d6c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.vector.html#175c99cb2333cd9da7aa1406562b4d6c"><span class="id" title="notation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.vector.html#175c99cb2333cd9da7aa1406562b4d6c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.algebra.vector.html#vT"><span class="id" title="variable">vT</span></a> <a class="idref" href="mathcomp.ssreflect.finfun.html#c93a2e1bb8503fc4a9598804b268d1be"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.vector.html#175c99cb2333cd9da7aa1406562b4d6c"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - Solving a tuple of linear equations. -</div> -<div class="code"> -<span class="id" title="keyword">Section</span> <a name="Solver"><span class="id" title="section">Solver</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> (<a name="Solver.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="Solver.vT"><span class="id" title="variable">vT</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#vectType"><span class="id" title="abbreviation">vectType</span></a> <a class="idref" href="mathcomp.algebra.vector.html#K"><span class="id" title="variable">K</span></a>).<br/> -<span class="id" title="keyword">Variables</span> (<a name="Solver.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="Solver.lhs"><span class="id" title="variable">lhs</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.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.algebra.vector.html#Solver.vT"><span class="id" title="variable">vT</span></a><a class="idref" href="mathcomp.algebra.vector.html#53a3ec8a4009300ec80babde5a7883ab"><span class="id" title="notation">)</span></a>) (<a name="Solver.rhs"><span class="id" title="variable">rhs</span></a> : <a class="idref" href="mathcomp.algebra.vector.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#c3913abe839346eb60d82da74b0b1f67"><span class="id" title="notation">tuple</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Solver.vT"><span class="id" title="variable">vT</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Let</span> <a name="Solver.lhsf"><span class="id" title="variable">lhsf</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#finfun"><span class="id" title="abbreviation">finfun</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Solver.lhs"><span class="id" title="variable">lhs</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#d89396f990d6b54d736cfe259e498cf4"><span class="id" title="notation">)^~</span></a> <a class="idref" href="mathcomp.algebra.vector.html#u"><span class="id" title="variable">u</span></a>).<br/> -<span class="id" title="keyword">Definition</span> <a name="vsolve_eq"><span class="id" title="definition">vsolve_eq</span></a> <span class="id" title="var">U</span> := <a class="idref" href="mathcomp.ssreflect.finfun.html#finfun"><span class="id" title="abbreviation">finfun</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#Solver.rhs"><span class="id" title="variable">rhs</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> (<a class="idref" href="mathcomp.algebra.vector.html#linfun"><span class="id" title="definition">linfun</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Solver.lhsf"><span class="id" title="variable">lhsf</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#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="vsolve_eqP"><span class="id" title="lemma">vsolve_eqP</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.algebra.vector.html#Solver.vT"><span class="id" title="variable">vT</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.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.algebra.vector.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.vector.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <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#Solver.lhs"><span class="id" title="variable">lhs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.vector.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.ssreflect.tuple.html#tnth"><span class="id" title="definition">tnth</span></a> <a class="idref" href="mathcomp.algebra.vector.html#Solver.rhs"><span class="id" title="variable">rhs</span></a> <a class="idref" href="mathcomp.algebra.vector.html#i"><span class="id" title="variable">i</span></a>) <br/> - (<a class="idref" href="mathcomp.algebra.vector.html#vsolve_eq"><span class="id" title="definition">vsolve_eq</span></a> <a class="idref" href="mathcomp.algebra.vector.html#U"><span class="id" title="variable">U</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.vector.html#Solver"><span class="id" title="section">Solver</span></a>.<br/> - -<br/> -</div> -</div> - -<div id="footer"> -<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a> -</div> - -</div> - -</body> -</html>
\ No newline at end of file |
