aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.algebra.mxalgebra.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/htmldoc/mathcomp.algebra.mxalgebra.html')
-rw-r--r--docs/htmldoc/mathcomp.algebra.mxalgebra.html1938
1 files changed, 1938 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.algebra.mxalgebra.html b/docs/htmldoc/mathcomp.algebra.mxalgebra.html
new file mode 100644
index 0000000..5ab8faa
--- /dev/null
+++ b/docs/htmldoc/mathcomp.algebra.mxalgebra.html
@@ -0,0 +1,1938 @@
+<!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.mxalgebra</title>
+</head>
+
+<body>
+
+<div id="page">
+
+<div id="header">
+</div>
+
+<div id="main">
+
+<h1 class="libtitle">Library mathcomp.algebra.mxalgebra</h1>
+
+<div class="code">
+<span class="comment">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
+&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
+<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ In this file we develop the rank and row space theory of matrices, based
+ on an extended Gaussian elimination procedure similar to LUP
+ decomposition. This provides us with a concrete but generic model of
+ finite dimensional vector spaces and F-algebras, in which vectors, linear
+ functions, families, bases, subspaces, ideals and subrings are all
+ represented using matrices. This model can be used as a foundation for
+ the usual theory of abstract linear algebra, but it can also be used to
+ develop directly substantial theories, such as the theory of finite group
+ linear representation.
+ Here we define the following concepts and notations:
+ Gaussian_elimination A == a permuted triangular decomposition (L, U, r)
+ of A, with L a column permutation of a lower triangular
+ invertible matrix, U a row permutation of an upper
+ triangular invertible matrix, and r the rank of A, all
+ satisfying the identity L *m pid_mx r *m U = A.
+ \rank A == the rank of A.
+ row_free A &lt;=&gt; the rows of A are linearly free (i.e., the rank and
+ height of A are equal).
+ row_full A &lt;=&gt; the row-space of A spans all row-vectors (i.e., the
+ rank and width of A are equal).
+ col_ebase A == the extended column basis of A (the first matrix L
+ returned by Gaussian_elimination A).
+ row_ebase A == the extended row base of A (the second matrix U
+ returned by Gaussian_elimination A).
+ col_base A == a basis for the columns of A: a row-full matrix
+ consisting of the first \rank A columns of col_ebase A.
+ row_base A == a basis for the rows of A: a row-free matrix consisting
+ of the first \rank A rows of row_ebase A.
+ pinvmx A == a partial inverse for A in its row space (or on its
+ column space, equivalently). In particular, if u is a
+ row vector in the row_space of A, then u *m pinvmx A is
+ the row vector of the coefficients of a decomposition
+ of u as a sub of rows of A.
+ kermx A == the row kernel of A : a square matrix whose row space
+ consists of all u such that u *m A = 0 (it consists of
+ the inverse of col_ebase A, with the top \rank A rows
+ zeroed out). Also, kermx A is a partial right inverse
+ to col_ebase A, in the row space anihilated by A.
+ cokermx A == the cokernel of A : a square matrix whose column space
+ consists of all v such that A *m v = 0 (it consists of
+ the inverse of row_ebase A, with the leftmost \rank A
+ columns zeroed out).
+ eigenvalue g a &lt;=&gt; a is an eigenvalue of the square matrix g.
+ eigenspace g a == a square matrix whose row space is the eigenspace of
+ the eigenvalue a of g (or 0 if a is not an eigenvalue).
+ We use a different scope %MS for matrix row-space set-like operations; to
+ avoid confusion, this scope should not be opened globally. Note that the
+ the arguments of \rank _ and the operations below have default scope %MS.
+ (A &lt;= B)%MS &lt;=&gt; the row-space of A is included in the row-space of B.
+ We test for this by testing if cokermx B anihilates A.
+ (A &lt; B)%MS &lt;=&gt; the row-space of A is properly included in the
+ row-space of B.
+ (A &lt;= B &lt;= C)%MS == (A &lt;= B)%MS &amp;&amp; (B &lt;= C)%MS, and similarly for
+ (A &lt; B &lt;= C)%MS, (A &lt; B &lt;= C)%MS and (A &lt; B &lt; C)%MS.
+ (A == B)%MS == (A &lt;= B &lt;= A)%MS (A and B have the same row-space).
+ (A :=: B)%MS == A and B behave identically wrt. \rank and &lt;=. This
+ triple rewrite rule is the Prop version of (A == B)%MS.
+ Note that :=: cannot be treated as a setoid-style
+ Equivalence because its arguments can have different
+ types: A and B need not have the same number of rows,
+ and often don't (e.g., in row_base A :=: A).
+ <tt>A</tt>%MS == a square matrix with the same row-space as A; <tt>A</tt>%MS
+ is a canonical representation of the subspace generated
+ by A, viewed as a list of row-vectors: if (A == B)%MS,
+ then <tt>A</tt>%MS = <tt>B</tt>%MS.
+ (A + B)%MS == a square matrix whose row-space is the sum of the
+ row-spaces of A and B; thus (A + B == col_mx A B)%MS.
+ (\sum_i &lt;expr i&gt;)%MS == the "big" version of (_ + _)%MS; as the latter
+ has a canonical abelian monoid structure, most generic
+ bigop lemmas apply (the other bigop indexing notations
+ are also defined).
+ (A :&amp;: B)%MS == a square matrix whose row-space is the intersection of
+ the row-spaces of A and B.
+ (\bigcap_i &lt;expr i&gt;)%MS == the "big" version of (_ :&amp;: _)%MS, which also
+ has a canonical abelian monoid structure.
+ A^C%MS == a square matrix whose row-space is a complement to the
+ the row-space of A (it consists of row_ebase A with the
+ top \rank A rows zeroed out).
+ (A :\: B)%MS == a square matrix whose row-space is a complement of the
+ the row-space of (A :&amp;: B)%MS in the row-space of A.
+ We have (A :\: B := A :&amp;: (capmx_gen A B)^C)%MS, where
+ capmx_gen A B is a rectangular matrix equivalent to
+ (A :&amp;: B)%MS, i.e., (capmx_gen A B == A :&amp;: B)%MS.
+ proj_mx A B == a square matrix that projects (A + B)%MS onto A
+ parallel to B, when (A :&amp;: B)%MS = 0 (A and B must also
+ be square).
+ mxdirect S == the sum expression S is a direct sum. This is a NON
+ EXTENSIONAL notation: the exact boolean expression is
+ inferred from the syntactic form of S (expanding
+ definitions, however); both (\sum(i | _) _)%MS and
+ (_ + _)%MS sums are recognized. This construct uses a
+ variant of the reflexive ("quote") canonical structure,
+ mxsum_expr. The structure also recognizes sums of
+ matrix ranks, so that lemmas concerning the rank of
+ direct sums can be used bidirectionally.
+ The next set of definitions let us represent F-algebras using matrices:
+ 'A[F](m, n) == the type of matrices encoding (sub)algebras of square
+ n x n matrices, via mxvec; as in the matrix type
+ notation, m and F can be omitted (m defaults to n ^ 2).
+ := 'M[F](m, n ^ 2).
+ (A \in R)%MS &lt;=&gt; the square matrix A belongs to the linear set of
+ matrices (most often, a sub-algebra) encoded by the
+ row space of R. This is simply notation, so all the
+ lemmas and rewrite rules for (_ &lt;= _)%MS can apply.
+ := (mxvec A &lt;= R)%MS.
+ (R * S)%MS == a square n^2 x n^2 matrix whose row-space encodes the
+ linear set of n x n matrices generated by the pointwise
+ product of the sets of matrices encoded by R and S.
+ 'C(R)%MS == a square matric encoding the centraliser of the set of
+ square matrices encoded by R.
+ 'C_S(R)%MS := (S :&amp;: 'C(R))%MS (the centraliser of R in S).
+ 'Z(R)%MS == the center of R (i.e., 'C_R(R)%MS).
+ left_mx_ideal R S &lt;=&gt; S is a left ideal for R (R * S &lt;= S)%MS.
+ right_mx_ideal R S &lt;=&gt; S is a right ideal for R (S * R &lt;= S)%MS.
+ mx_ideal R S &lt;=&gt; S is a bilateral ideal for R.
+ mxring_id R e &lt;-&gt; e is an identity element for R (Prop predicate).
+ has_mxring_id R &lt;=&gt; R has a nonzero identity element (bool predicate).
+ mxring R &lt;=&gt; R encodes a nontrivial subring.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Set Implicit Arguments</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">GroupScope</span>.<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing.Theory</span>.<br/>
+<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;\rank 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> "\rank A").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;A ^C" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "A ^C").<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">&quot;</span></a>''A_' ( m , n )" := <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2<a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''A_' ( m , n )") : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="4b21ccac6bac793c6b443b82130bd598"><span class="id" title="notation">&quot;</span></a>''A_' ( n )" := <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2<a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="6a8cb243fd3c774d82487c7bb2ab694b"><span class="id" title="notation">&quot;</span></a>''A_' n" := <a class="idref" href="mathcomp.algebra.mxalgebra.html#4b21ccac6bac793c6b443b82130bd598"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#4b21ccac6bac793c6b443b82130bd598"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#4b21ccac6bac793c6b443b82130bd598"><span class="id" title="notation">(</span></a><span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#4b21ccac6bac793c6b443b82130bd598"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="var">next</span> <span class="id" title="keyword">level</span>, <span class="id" title="var">format</span> "''A_' n") : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">&quot;</span></a>''A' [ F ]_ ( m , n )" := <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><span class="id" title="var">F</span><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2<a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">&quot;</span></a>''A' [ F ]_ ( n )" := <a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">[</span></a><span class="id" title="var">F</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">(</span></a><span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2<a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="dd112c0d02ab419975cf8b2396571f6f"><span class="id" title="notation">&quot;</span></a>''A' [ F ]_ n" := <a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">[</span></a><span class="id" title="var">F</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">(</span></a><span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#f8812adabd55a1f166fba128e2ab67df"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;(<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">type_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">matrix_set_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">MS</span>.<br/>
+
+<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Rank and row-space theory *****************************
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory"><span class="id" title="section">RowSpaceTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RowSpaceTheory.F"><span class="id" title="variable">F</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">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> <span class="id" title="var">r</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/>
+
+<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Decomposition with double pivoting; computes the rank, row and column
+ images, kernels, and complements of a matrix.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Fixpoint</span> <a name="Gaussian_elimination"><span class="id" title="definition">Gaussian_elimination</span></a> {<span class="id" title="var">m</span> <span class="id" title="var">n</span>} : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">with</span><br/>
+&nbsp;&nbsp;| <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>, <span class="id" title="var">_</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a> ⇒ <span class="id" title="keyword">fun</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> 1 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> ⇒<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">pick</span></a> <span class="id" title="var">ij</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ij"><span class="id" title="variable">ij</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ij"><span class="id" title="variable">ij</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">]</span></a> <span class="id" title="keyword">is</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#Some"><span class="id" title="constructor">Some</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">j</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> <span class="id" title="keyword">then</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <span class="id" title="var">i</span> <span class="id" title="var">j</span> <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">A1</span> := <a class="idref" href="mathcomp.algebra.matrix.html#xrow"><span class="id" title="definition">xrow</span></a> <span class="id" title="var">i</span> 0 (<a class="idref" href="mathcomp.algebra.matrix.html#xcol"><span class="id" title="definition">xcol</span></a> <span class="id" title="var">j</span> 0 <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.algebra.matrix.html#ursubmx"><span class="id" title="definition">ursubmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">v</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#dlsubmx"><span class="id" title="definition">dlsubmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><span class="id" title="var">L</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">U</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#Gaussian_elimination"><span class="id" title="definition">Gaussian_elimination</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#drsubmx"><span class="id" title="definition">drsubmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a>) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#xrow"><span class="id" title="definition">xrow</span></a> <span class="id" title="var">i</span> 0 (<a class="idref" href="mathcomp.algebra.matrix.html#block_mx"><span class="id" title="definition">block_mx</span></a> 1 0 <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <span class="id" title="var">L</span>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#xcol"><span class="id" title="definition">xcol</span></a> <span class="id" title="var">j</span> 0 (<a class="idref" href="mathcomp.algebra.matrix.html#block_mx"><span class="id" title="definition">block_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a> 0 <span class="id" title="var">U</span>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">else</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> 0%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;| <span class="id" title="var">_</span>, <span class="id" title="var">_</span> ⇒ <span class="id" title="keyword">fun</span> <span class="id" title="var">_</span> ⇒ <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> 0%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">end</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.Defs"><span class="id" title="section">Defs</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RowSpaceTheory.Defs.m"><span class="id" title="variable">m</span></a> <a name="RowSpaceTheory.Defs.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="RowSpaceTheory.Defs.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="Gaussian_elimination_key"><span class="id" title="lemma">Gaussian_elimination_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.Defs.LUr"><span class="id" title="variable">LUr</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#Gaussian_elimination_key"><span class="id" title="lemma">Gaussian_elimination_key</span></a> (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#Gaussian_elimination"><span class="id" title="definition">Gaussian_elimination</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="col_ebase"><span class="id" title="definition">col_ebase</span></a> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.LUr"><span class="id" title="variable">LUr</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1.1</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="row_ebase"><span class="id" title="definition">row_ebase</span></a> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.LUr"><span class="id" title="variable">LUr</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxrank"><span class="id" title="definition">mxrank</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#e6e9e3868d89c24ddc7d4f643f9ae0df"><span class="id" title="notation">[||</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#e6e9e3868d89c24ddc7d4f643f9ae0df"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#e6e9e3868d89c24ddc7d4f643f9ae0df"><span class="id" title="notation">]</span></a>%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> 0%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.LUr"><span class="id" title="variable">LUr</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="row_free"><span class="id" title="definition">row_free</span></a> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.m"><span class="id" title="variable">m</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="row_full"><span class="id" title="definition">row_full</span></a> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="row_base"><span class="id" title="definition">row_base</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="col_base"><span class="id" title="definition">col_base</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="complmx"><span class="id" title="definition">complmx</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#copid_mx"><span class="id" title="definition">copid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="kermx"><span class="id" title="definition">kermx</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_m</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#copid_mx"><span class="id" title="definition">copid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="cokermx"><span class="id" title="definition">cokermx</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#copid_mx"><span class="id" title="definition">copid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="pinvmx"><span class="id" title="definition">pinvmx</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Defs"><span class="id" title="section">Defs</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="submx_def"><span class="id" title="definition">submx_def</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) ⇒<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0).<br/>
+<span class="id" title="keyword">Fact</span> <a name="submx_key"><span class="id" title="lemma">submx_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="submx"><span class="id" title="definition">submx</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#submx_key"><span class="id" title="lemma">submx_key</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#submx_def"><span class="id" title="definition">submx_def</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">submx_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="ltmx"><span class="id" title="definition">ltmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="eqmx"><span class="id" title="definition">eqmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#prod"><span class="id" title="inductive">prod</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="keyword">∀</span> <span class="id" title="var">m3</span> (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>),<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.LtmxIdentities"><span class="id" title="section">LtmxIdentities</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RowSpaceTheory.LtmxIdentities.m1"><span class="id" title="variable">m1</span></a> <a name="RowSpaceTheory.LtmxIdentities.m2"><span class="id" title="variable">m2</span></a> <a name="RowSpaceTheory.LtmxIdentities.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<a name="RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmxE"><span class="id" title="lemma">ltmxE</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmxW"><span class="id" title="lemma">ltmxW</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmxEneq"><span class="id" title="lemma">ltmxEneq</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submxElt"><span class="id" title="lemma">submxElt</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#14a7a9c7dc61f86bfb664d400fabaf8a"><span class="id" title="notation">||</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.LtmxIdentities"><span class="id" title="section">LtmxIdentities</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The definition of the row-space operator is rigged to return the identity
+ matrix for full matrices. To allow for further tweaks that will make the
+ row-space intersection operator strictly commutative and monoidal, we
+ slightly generalize some auxiliary definitions: we parametrize the
+ "equivalent subspace and identity" choice predicate equivmx by a boolean
+ determining whether the matrix should be the identity (so for genmx A its
+ value is row_full A), and introduce a "quasi-identity" predicate qidmx
+ that selects non-square full matrices along with the identity matrix 1%:M
+ (this does not affect genmx, which chooses a square matrix).
+ The choice witness for genmx A is either 1%:M for a row-full A, or else
+ row_base A padded with null rows.
+</div>
+<div class="code">
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.equivmx"><span class="id" title="variable">equivmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">idA</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#idA"><span class="id" title="variable">idA</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.equivmx_spec"><span class="id" title="variable">equivmx_spec</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">idA</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#prod"><span class="id" title="inductive">prod</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#idA"><span class="id" title="variable">idA</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="genmx_witness"><span class="id" title="definition">genmx_witness</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="genmx_def"><span class="id" title="definition">genmx_def</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) ⇒<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.choice.html#choose"><span class="id" title="definition">choose</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.equivmx"><span class="id" title="variable">equivmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#genmx_witness"><span class="id" title="definition">genmx_witness</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>).<br/>
+<span class="id" title="keyword">Fact</span> <a name="genmx_key"><span class="id" title="lemma">genmx_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="genmx"><span class="id" title="definition">genmx</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#genmx_key"><span class="id" title="lemma">genmx_key</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#genmx_def"><span class="id" title="definition">genmx_def</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">genmx_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#genmx"><span class="id" title="definition">genmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The setwise sum is tweaked so that 0 is a strict identity element for
+ square matrices, because this lets us use the bigop component. As a result
+ setwise sum is not quite strictly extensional.
+</div>
+<div class="code">
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) := <a class="idref" href="mathcomp.algebra.matrix.html#conform_mx"><span class="id" title="definition">conform_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="addsmx_def"><span class="id" title="definition">addsmx_def</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) ⇒<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.matrix.html#col_mx"><span class="id" title="definition">col_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>).<br/>
+<span class="id" title="keyword">Fact</span> <a name="addsmx_key"><span class="id" title="lemma">addsmx_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="addsmx"><span class="id" title="definition">addsmx</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx_key"><span class="id" title="lemma">addsmx_key</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx_def"><span class="id" title="definition">addsmx_def</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addsmx_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The set intersection is similarly biased so that the identity matrix is a
+ strict identity. This is somewhat more delicate than for the sum, because
+ the test for the identity is non-extensional. This forces us to actually
+ bias the choice operator so that it does not accidentally map an
+ intersection of non-identity matrices to 1%:M; this would spoil
+ associativity: if B :&amp;: C = 1%:M but B and C are not identity, then for a
+ square matrix A we have A :&amp;: (B :&amp;: C) = A != (A :&amp;: B) :&amp;: C in general.
+ To complicate matters there may not be a square non-singular matrix
+ different than 1%:M, since we could be dealing with 'M['F_2]_1. We
+ sidestep the issue by making all non-square row-full matrices identities,
+ and choosing a normal representative that preserves the qidmx property.
+ Thus A :&amp;: B = 1%:M iff A and B are both identities, and this suffices for
+ showing that associativity is strict.
+</div>
+<div class="code">
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_witness"><span class="id" title="variable">capmx_witness</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#conform_mx"><span class="id" title="definition">conform_mx</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span>.<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.choice.html#choose"><span class="id" title="definition">choose</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.equivmx"><span class="id" title="variable">equivmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_witness"><span class="id" title="variable">capmx_witness</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_nop"><span class="id" title="variable">capmx_nop</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) := <a class="idref" href="mathcomp.algebra.matrix.html#conform_mx"><span class="id" title="definition">conform_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#lsubmx"><span class="id" title="definition">lsubmx</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.matrix.html#col_mx"><span class="id" title="definition">col_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)) <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="capmx_def"><span class="id" title="definition">capmx_def</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) ⇒<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_nop"><span class="id" title="variable">capmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_nop"><span class="id" title="variable">capmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">then</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#0348819abaa88c2cd747e8fa60dde7ae"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>).<br/>
+<span class="id" title="keyword">Fact</span> <a name="capmx_key"><span class="id" title="lemma">capmx_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="capmx"><span class="id" title="definition">capmx</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_key"><span class="id" title="lemma">capmx_key</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_def"><span class="id" title="definition">capmx_def</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">capmx_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="diffmx_def"><span class="id" title="definition">diffmx_def</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#idfun"><span class="id" title="abbreviation">idfun</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) ⇒<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>).<br/>
+<span class="id" title="keyword">Fact</span> <a name="diffmx_key"><span class="id" title="lemma">diffmx_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="diffmx"><span class="id" title="definition">diffmx</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#diffmx_key"><span class="id" title="lemma">diffmx_key</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#diffmx_def"><span class="id" title="definition">diffmx_def</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">diffmx_unlockable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#diffmx"><span class="id" title="definition">diffmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="proj_mx"><span class="id" title="definition">proj_mx</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</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.matrix.html#col_mx"><span class="id" title="definition">col_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#col_mx"><span class="id" title="definition">col_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> 0.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mxrankE"><span class="id" title="lemma">mxrankE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#GaussE"><span class="id" title="abbreviation">GaussE</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">).2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_leq_row"><span class="id" title="lemma">rank_leq_row</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_leq_rank"><span class="id" title="lemma">row_leq_rank</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_leq_col"><span class="id" title="lemma">rank_leq_col</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="col_leq_rank"><span class="id" title="lemma">col_leq_rank</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.unitmx1F"><span class="id" title="variable">unitmx1F</span></a> := @<a class="idref" href="mathcomp.algebra.matrix.html#unitmx1"><span class="id" title="lemma">unitmx1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_ebase_unit"><span class="id" title="lemma">row_ebase_unit</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="col_ebase_unit"><span class="id" title="lemma">col_ebase_unit</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a>.<br/>
+<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">rank_leq_row</span> <span class="id" title="var">rank_leq_col</span> <span class="id" title="var">row_ebase_unit</span> <span class="id" title="var">col_ebase_unit</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx_ebase"><span class="id" title="lemma">mulmx_ebase</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx_base"><span class="id" title="lemma">mulmx_base</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_base"><span class="id" title="definition">col_base</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx1_min_rank"><span class="id" title="lemma">mulmx1_min_rank</span></a> <span class="id" title="var">r</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">M</span> <span class="id" title="var">N</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#N"><span class="id" title="variable">N</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx_max_rank"><span class="id" title="lemma">mulmx_max_rank</span></a> <span class="id" title="var">r</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">M</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">N</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#N"><span class="id" title="variable">N</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_tr"><span class="id" title="lemma">mxrank_tr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.matrix.html#0efdd62d084b88acb1b2860eed745d54"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.matrix.html#0efdd62d084b88acb1b2860eed745d54"><span class="id" title="notation">T</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_add"><span class="id" title="lemma">mxrank_add</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrankM_maxl"><span class="id" title="lemma">mxrankM_maxl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrankM_maxr"><span class="id" title="lemma">mxrankM_maxr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_scale"><span class="id" title="lemma">mxrank_scale</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_scale_nz"><span class="id" title="lemma">mxrank_scale_nz</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_opp"><span class="id" title="lemma">mxrank_opp</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank0"><span class="id" title="lemma">mxrank0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_eq0"><span class="id" title="lemma">mxrank_eq0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx_coker"><span class="id" title="lemma">mulmx_coker</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submxE"><span class="id" title="lemma">submxE</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmxKpV"><span class="id" title="lemma">mulmxKpV</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><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.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submxP"><span class="id" title="lemma">submxP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">D</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submx_refl"><span class="id" title="lemma">submx_refl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+ <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">submx_refl</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submxMl"><span class="id" title="lemma">submxMl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submxMr"><span class="id" title="lemma">submxMr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx_sub"><span class="id" title="lemma">mulmx_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">p</span> (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n1"><span class="id" title="variable">n1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">A</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n2"><span class="id" title="variable">n2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submx_trans"><span class="id" title="lemma">submx_trans</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmx_sub_trans"><span class="id" title="lemma">ltmx_sub_trans</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_ltmx_trans"><span class="id" title="lemma">sub_ltmx_trans</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmx_trans"><span class="id" title="lemma">ltmx_trans</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#transitive"><span class="id" title="definition">transitive</span></a> (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmx_irrefl"><span class="id" title="lemma">ltmx_irrefl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#irreflexive"><span class="id" title="definition">irreflexive</span></a> (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub0mx"><span class="id" title="lemma">sub0mx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submx0null"><span class="id" title="lemma">submx0null</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submx0"><span class="id" title="lemma">submx0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lt0mx"><span class="id" title="lemma">lt0mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmx0"><span class="id" title="lemma">ltmx0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx0P"><span class="id" title="lemma">eqmx0P</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_eq0"><span class="id" title="lemma">eqmx_eq0</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addmx_sub"><span class="id" title="lemma">addmx_sub</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> ((<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="summx_sub"><span class="id" title="lemma">summx_sub</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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.mxalgebra.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/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> ((<a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#cbc2f2ab11c1c376b5c4511d28b14d74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scalemx_sub"><span class="id" title="lemma">scalemx_sub</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_sub"><span class="id" title="lemma">row_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">i</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</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.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_row_sub"><span class="id" title="lemma">eq_row_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">v</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="nz_row_sub"><span class="id" title="lemma">nz_row_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_subP"><span class="id" title="lemma">row_subP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rV_subP"><span class="id" title="lemma">rV_subP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_subPn"><span class="id" title="lemma">row_subPn</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_rVP"><span class="id" title="lemma">sub_rVP</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">a</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_rV"><span class="id" title="lemma">rank_rV</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rowV0Pn"><span class="id" title="lemma">rowV0Pn</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rowV0P"><span class="id" title="lemma">rowV0P</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submx_full"><span class="id" title="lemma">submx_full</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_fullP"><span class="id" title="lemma">row_fullP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">B</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_full_inj"><span class="id" title="lemma">row_full_inj</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (@<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_freeP"><span class="id" title="lemma">row_freeP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">B</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_free_inj"><span class="id" title="lemma">row_free_inj</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)^~</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_free_unit"><span class="id" title="lemma">row_free_unit</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_full_unit"><span class="id" title="lemma">row_full_unit</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_unit"><span class="id" title="lemma">mxrank_unit</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank1"><span class="id" title="lemma">mxrank1</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_delta"><span class="id" title="lemma">mxrank_delta</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">i</span> <span class="id" title="var">j</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#delta_mx"><span class="id" title="definition">delta_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrankS"><span class="id" title="lemma">mxrankS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submx1"><span class="id" title="lemma">submx1</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub1mx"><span class="id" title="lemma">sub1mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmx1"><span class="id" title="lemma">ltmx1</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lt1mx"><span class="id" title="lemma">lt1mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#false"><span class="id" title="constructor">false</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmxP"><span class="id" title="lemma">eqmxP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rV_eqP"><span class="id" title="lemma">rV_eqP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_refl"><span class="id" title="lemma">eqmx_refl</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_sym"><span class="id" title="lemma">eqmx_sym</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_trans"><span class="id" title="lemma">eqmx_trans</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_rank"><span class="id" title="lemma">eqmx_rank</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="lt_eqmx"><span class="id" title="lemma">lt_eqmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>, ((<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#d19c7eafd0e2d195d10df94b392087b5"><span class="id" title="notation">×</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>)%<span class="id" title="keyword">type</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmxMr"><span class="id" title="lemma">eqmxMr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmxMfull"><span class="id" title="lemma">eqmxMfull</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx0"><span class="id" title="lemma">eqmx0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_scale"><span class="id" title="lemma">eqmx_scale</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_opp"><span class="id" title="lemma">eqmx_opp</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submxMfree"><span class="id" title="lemma">submxMfree</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmxMfree"><span class="id" title="lemma">eqmxMfree</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrankMfree"><span class="id" title="lemma">mxrankMfree</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_row_base"><span class="id" title="lemma">eq_row_base</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.qidmx_eq1"><span class="id" title="variable">qidmx_eq1</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.genmx_witnessP"><span class="id" title="variable">genmx_witnessP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.equivmx"><span class="id" title="variable">equivmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#genmx_witness"><span class="id" title="definition">genmx_witness</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmxE"><span class="id" title="lemma">genmxE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_genmx"><span class="id" title="lemma">eq_genmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmxP"><span class="id" title="lemma">genmxP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx0"><span class="id" title="lemma">genmx0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx1"><span class="id" title="lemma">genmx1</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_id"><span class="id" title="lemma">genmx_id</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_base_free"><span class="id" title="lemma">row_base_free</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_gen"><span class="id" title="lemma">mxrank_gen</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="col_base_full"><span class="id" title="lemma">col_base_full</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#col_base"><span class="id" title="definition">col_base</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">row_base_free</span> <span class="id" title="var">col_base_full</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_leqif_sup"><span class="id" title="lemma">mxrank_leqif_sup</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_leqif_eq"><span class="id" title="lemma">mxrank_leqif_eq</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ltmxErank"><span class="id" title="lemma">ltmxErank</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_ltmx"><span class="id" title="lemma">rank_ltmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#90d7b09f0c2effdccb449f69b6bb8499"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_cast"><span class="id" title="lemma">eqmx_cast</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">e</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#castmx"><span class="id" title="definition">castmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_conform"><span class="id" title="lemma">eqmx_conform</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.matrix.html#conform_mx"><span class="id" title="definition">conform_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#7a45dffb109c3069e5c675be68643e60"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#conform_mx"><span class="id" title="definition">conform_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.eqmx_sum_nop"><span class="id" title="variable">eqmx_sum_nop</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.AddsmxSub"><span class="id" title="section">AddsmxSub</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> (<a name="RowSpaceTheory.AddsmxSub.m1"><span class="id" title="variable">m1</span></a> <a name="RowSpaceTheory.AddsmxSub.m2"><span class="id" title="variable">m2</span></a> <a name="RowSpaceTheory.AddsmxSub.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) (<a name="RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="col_mx_sub"><span class="id" title="lemma">col_mx_sub</span></a> <span class="id" title="var">m3</span> (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.matrix.html#col_mx"><span class="id" title="definition">col_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxE"><span class="id" title="lemma">addsmxE</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#col_mx"><span class="id" title="definition">col_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_sub"><span class="id" title="lemma">addsmx_sub</span></a> <span class="id" title="var">m3</span> (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxSl"><span class="id" title="lemma">addsmxSl</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxSr"><span class="id" title="lemma">addsmxSr</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_idPr"><span class="id" title="lemma">addsmx_idPr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_idPl"><span class="id" title="lemma">addsmx_idPl</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub.A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.AddsmxSub"><span class="id" title="section">AddsmxSub</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adds0mx"><span class="id" title="lemma">adds0mx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx0"><span class="id" title="lemma">addsmx0</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.addsmx_nop_eq0"><span class="id" title="variable">addsmx_nop_eq0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.addsmx_nop0"><span class="id" title="variable">addsmx_nop0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> (0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.addsmx_nop_id"><span class="id" title="variable">addsmx_nop_id</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.addsmx_nop"><span class="id" title="variable">addsmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxC"><span class="id" title="lemma">addsmxC</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adds0mx_id"><span class="id" title="lemma">adds0mx_id</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">n</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx0_id"><span class="id" title="lemma">addsmx0_id</span></a> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxA"><span class="id" title="lemma">addsmxA</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addsmx_monoid</span> <span class="id" title="var">n</span> :=<br/>
+&nbsp;&nbsp;<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.mxalgebra.html#addsmxA"><span class="id" title="lemma">addsmxA</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#adds0mx_id"><span class="id" title="lemma">adds0mx_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx0_id"><span class="id" title="lemma">addsmx0_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">addsmx_comoid</span> <span class="id" title="var">n</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.mxalgebra.html#addsmxC"><span class="id" title="lemma">addsmxC</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxMr"><span class="id" title="lemma">addsmxMr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;((<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmxS"><span class="id" title="lemma">addsmxS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">m4</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m4"><span class="id" title="variable">m4</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addmx_sub_adds"><span class="id" title="lemma">addmx_sub_adds</span></a> <span class="id" title="var">m</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_addKl"><span class="id" title="lemma">addsmx_addKl</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_addKr"><span class="id" title="lemma">addsmx_addKr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> ((<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="adds_eqmx"><span class="id" title="lemma">adds_eqmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">m4</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m4"><span class="id" title="variable">m4</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_adds"><span class="id" title="lemma">genmx_adds</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a>(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_addsmxP"><span class="id" title="lemma">sub_addsmxP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">u</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RowSpaceTheory.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/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_sums"><span class="id" title="lemma">genmx_sums</span></a> <span class="id" title="var">P</span> <span class="id" title="var">n</span> (<span class="id" title="var">B_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a>(<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmx_sup"><span class="id" title="lemma">sumsmx_sup</span></a> <span class="id" title="var">i0</span> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i0"><span class="id" title="variable">i0</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmx_subP"><span class="id" title="lemma">sumsmx_subP</span></a> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="summx_sub_sums"><span class="id" title="lemma">summx_sub_sums</span></a> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) <span class="id" title="var">B</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;((<a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmxS"><span class="id" title="lemma">sumsmxS</span></a> <span class="id" title="var">P</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_sums"><span class="id" title="lemma">eqmx_sums</span></a> <span class="id" title="var">P</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_sumsmxP"><span class="id" title="lemma">sub_sumsmxP</span></a> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">u_</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#u_"><span class="id" title="variable">u_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmxMr_gen"><span class="id" title="lemma">sumsmxMr_gen</span></a> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;((<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmxMr"><span class="id" title="lemma">sumsmxMr</span></a> <span class="id" title="var">P</span> <span class="id" title="var">n</span> (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;((<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_pid_mx"><span class="id" title="lemma">rank_pid_mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">r</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_copid_mx"><span class="id" title="lemma">rank_copid_mx</span></a> <span class="id" title="var">n</span> <span class="id" title="var">r</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#copid_mx"><span class="id" title="definition">copid_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r"><span class="id" title="variable">r</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_compl"><span class="id" title="lemma">mxrank_compl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_ker"><span class="id" title="lemma">mxrank_ker</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="kermx_eq0"><span class="id" title="lemma">kermx_eq0</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_coker"><span class="id" title="lemma">mxrank_coker</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cokermx_eq0"><span class="id" title="lemma">cokermx_eq0</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx_ker"><span class="id" title="lemma">mulmx_ker</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmxKV_ker"><span class="id" title="lemma">mulmxKV_ker</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_kermxP"><span class="id" title="lemma">sub_kermxP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulmx0_rank_max"><span class="id" title="lemma">mulmx0_rank_max</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_Frobenius"><span class="id" title="lemma">mxrank_Frobenius</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> <span class="id" title="var">q</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) <span class="id" title="var">B</span> (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#q"><span class="id" title="variable">q</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_mul_min"><span class="id" title="lemma">mxrank_mul_min</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_compl_full"><span class="id" title="lemma">addsmx_compl_full</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_capmx_gen"><span class="id" title="lemma">sub_capmx_gen</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_witnessP"><span class="id" title="variable">capmx_witnessP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.equivmx"><span class="id" title="variable">equivmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_witness"><span class="id" title="variable">capmx_witness</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_normP"><span class="id" title="variable">capmx_normP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.equivmx_spec"><span class="id" title="variable">equivmx_spec</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_norm_eq"><span class="id" title="variable">capmx_norm_eq</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#650edb4f13965b5befa677e688f789d4"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_nopP"><span class="id" title="variable">capmx_nopP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.equivmx_spec"><span class="id" title="variable">equivmx_spec</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_nop"><span class="id" title="variable">capmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.sub_qidmx"><span class="id" title="variable">sub_qidmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.qidmx_cap"><span class="id" title="variable">qidmx_cap</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_eq_norm"><span class="id" title="variable">capmx_eq_norm</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.qidmx"><span class="id" title="variable">qidmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_norm"><span class="id" title="variable">capmx_norm</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxE"><span class="id" title="lemma">capmxE</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxSl"><span class="id" title="lemma">capmxSl</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_capmx"><span class="id" title="lemma">sub_capmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxC"><span class="id" title="lemma">capmxC</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxSr"><span class="id" title="lemma">capmxSr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx_idPr"><span class="id" title="lemma">capmx_idPr</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx_idPl"><span class="id" title="lemma">capmx_idPl</span></a> <span class="id" title="var">n</span> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxS"><span class="id" title="lemma">capmxS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">m4</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m4"><span class="id" title="variable">m4</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cap_eqmx"><span class="id" title="lemma">cap_eqmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">m4</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">D</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m4"><span class="id" title="variable">m4</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxMr"><span class="id" title="lemma">capmxMr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cap0mx"><span class="id" title="lemma">cap0mx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx0"><span class="id" title="lemma">capmx0</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxT"><span class="id" title="lemma">capmxT</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capTmx"><span class="id" title="lemma">capTmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.capmx_nop_id"><span class="id" title="variable">capmx_nop_id</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.capmx_nop"><span class="id" title="variable">capmx_nop</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cap1mx"><span class="id" title="lemma">cap1mx</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : (1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx1"><span class="id" title="lemma">capmx1</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_cap"><span class="id" title="lemma">genmx_cap</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmxA"><span class="id" title="lemma">capmxA</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">capmx_monoid</span> <span class="id" title="var">n</span> :=<br/>
+&nbsp;&nbsp;&nbsp;<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.mxalgebra.html#capmxA"><span class="id" title="lemma">capmxA</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#cap1mx"><span class="id" title="lemma">cap1mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx1"><span class="id" title="lemma">capmx1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">capmx_comoid</span> <span class="id" title="var">n</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.mxalgebra.html#capmxC"><span class="id" title="lemma">capmxC</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcapmx_inf"><span class="id" title="lemma">bigcapmx_inf</span></a> <span class="id" title="var">i0</span> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_bigcapmxP"><span class="id" title="lemma">sub_bigcapmxP</span></a> <span class="id" title="var">P</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B_"><span class="id" title="variable">B_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_bigcap"><span class="id" title="lemma">genmx_bigcap</span></a> <span class="id" title="var">P</span> <span class="id" title="var">n</span> (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#21ad23dcb443b600284c1cd39a51fde1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="matrix_modl"><span class="id" title="lemma">matrix_modl</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="matrix_modr"><span class="id" title="lemma">matrix_modr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">C</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx_compl"><span class="id" title="lemma">capmx_compl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_mul_ker"><span class="id" title="lemma">mxrank_mul_ker</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</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.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_injP"><span class="id" title="lemma">mxrank_injP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">p</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) ((<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</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.mxalgebra.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_disjoint_sum"><span class="id" title="lemma">mxrank_disjoint_sum</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="diffmxE"><span class="id" title="lemma">diffmxE</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#36107ffb18a8bbc5966401cfe543371b"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_diff"><span class="id" title="lemma">genmx_diff</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#839dc9de43c30e3fb6956e22c14c882a"><span class="id" title="notation">&gt;&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="diffmxSl"><span class="id" title="lemma">diffmxSl</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx_diff"><span class="id" title="lemma">capmx_diff</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_diff_cap_eq"><span class="id" title="lemma">addsmx_diff_cap_eq</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_cap_compl"><span class="id" title="lemma">mxrank_cap_compl</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ef798e67335a7fc58f8072263210ea96"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_sum_cap"><span class="id" title="lemma">mxrank_sum_cap</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_adds_leqif"><span class="id" title="lemma">mxrank_adds_leqif</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Subspace projection matrix
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_mx_sub"><span class="id" title="lemma">proj_mx_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <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.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_mx_compl_sub"><span class="id" title="lemma">proj_mx_compl_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <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.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_mx_id"><span class="id" title="lemma">proj_mx_id</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <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.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_mx_0"><span class="id" title="lemma">proj_mx_0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <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.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="add_proj_mx"><span class="id" title="lemma">add_proj_mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <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.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</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.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_mx_proj"><span class="id" title="lemma">proj_mx_proj</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">P</span> := <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.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <span class="id" title="tactic">in</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Completing a partially injective matrix to get a unit matrix.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="complete_unitmx"><span class="id" title="lemma">complete_unitmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Mapping between two subspaces with the same dimension.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eq_rank_unitmx"><span class="id" title="lemma">eq_rank_unitmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">U</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">f</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0cba8965977f5f50b779d6c4f6af1d2d"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.SumExpr"><span class="id" title="section">SumExpr</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This is the infrastructure to support the mxdirect predicate. We use a
+ bespoke canonical structure to decompose a matrix expression into binary
+ and n-ary products, using some of the "quote" technology. This lets us
+ characterize direct sums as set sums whose rank is equal to the sum of the
+ ranks of the individual terms. The mxsum_expr/proper_mxsum_expr structures
+ below supply both the decomposition and the calculation of the rank sum.
+ The mxsum_spec dependent predicate family expresses the consistency of
+ these two decompositions.
+ The main technical difficulty we need to overcome is the fact that
+ the "catch-all" case of canonical structures has a priority lower than
+ constant expansion. However, it is undesireable that local abbreviations
+ be opaque for the direct-sum predicate, e.g., not be able to handle
+ let S := (\sum(i | P i) LargeExpression i)%MS in mxdirect S -&gt; ...).
+ As in "quote", we use the interleaving of constant expansion and
+ canonical projection matching to achieve our goal: we use a "wrapper" type
+ (indeed, the wrapped T type defined in ssrfun.v) with a self-inserting
+ non-primitive constructor to gain finer control over the type and
+ structure inference process. The innermost, primitive, constructor flags
+ trivial sums; it is initially hidden by an eta-expansion, which has been
+ made into a (default) canonical structure -- this lets type inference
+ automatically insert this outer tag.
+ In detail, we define three types
+ mxsum_spec S r &lt;-&gt; There exists a finite list of matrices A1, ..., Ak
+ such that S is the set sum of the Ai, and r is the sum
+ of the ranks of the Ai, i.e., S = (A1 + ... + Ak)%MS
+ and r = \rank A1 + ... + \rank Ak. Note that
+ mxsum_spec is a recursive dependent predicate family
+ whose elimination rewrites simultaneaously S, r and
+ the height of S.
+ proper_mxsum_expr n == The interface for proper sum expressions; this is
+ a double-entry interface, keyed on both the matrix sum
+ value and the rank sum. The matrix value is restricted
+ to square matrices, as the "+"%MS operator always
+ returns a square matrix. This interface has two
+ canonical insances, for binary and n-ary sums.
+ mxsum_expr m n == The interface for general sum expressions, comprising
+ both proper sums and trivial sums consisting of a
+ single matrix. The key values are WRAPPED as this lets
+ us give priority to the "proper sum" interpretation
+ (see below). To allow for trivial sums, the matrix key
+ can have any dimension. The mxsum_expr interface has
+ two canonical instances, for trivial and proper sums,
+ keyed to the Wrap and wrap constructors, respectively.
+ The projections for the two interfaces above are
+ proper_mxsum_val, mxsum_val : these are respectively coercions to 'M_n
+ and wrapped 'M(m, n); thus, the matrix sum for an
+ S : mxsum_expr m n can be written unwrap S.
+ proper_mxsum_rank, mxsum_rank : projections to the nat and wrapped nat,
+ respectively; the rank sum for S : mxsum_expr m n is
+ thus written unwrap (mxsum_rank S).
+ The mxdirect A predicate actually gets A in a phantom argument, which is
+ used to infer an (implicit) S : mxsum_expr such that unwrap S = A; the
+ actual definition is \rank (unwrap S) == unwrap (mxsum_rank S).
+ Note that the inference of S is inherently ambiguous: ANY matrix can be
+ viewed as a trivial sum, including one whose description is manifestly a
+ proper sum. We use the wrapped type and the interaction between delta
+ reduction and canonical structure inference to resolve this ambiguity in
+ favor of proper sums, as follows:
+<ul class="doclist">
+<li> The phantom type sets up a unification problem of the form
+ unwrap (mxsum_val ?S) = A
+ with unknown evar ?S : mxsum_expr m n.
+
+</li>
+<li> As the constructor wrap is also a default Canonical instance for the
+ wrapped type, so A is immediately replaced with unwrap (wrap A) and
+ we get the residual unification problem
+ mxsum_val ?S = wrap A
+
+</li>
+<li> Now Coq tries to apply the proper sum Canonical instance, which has
+ key projection wrap (proper_mxsum_val ?PS) where ?PS is a fresh evar
+ (of type proper_mxsum_expr n). This can only succeed if m = n, and if
+ a solution can be found to the recursive unification problem
+ proper_mxsum_val ?PS = A
+ This causes Coq to look for one of the two canonical constants for
+ proper_mxsum_val (addsmx or bigop) at the head of A, delta-expanding
+ A as needed, and then inferring recursively mxsum_expr structures for
+ the last argument(s) of that constant.
+
+</li>
+<li> If the above step fails then the wrap constant is expanded, revealing
+ the primitive Wrap constructor; the unification problem now becomes
+ mxsum_val ?S = Wrap A
+ which fits perfectly the trivial sum canonical structure, whose key
+ projection is Wrap ?B where ?B is a fresh evar. Thus the inference
+ succeeds, and returns the trivial sum.
+
+</li>
+</ul>
+ Note that the rank projections also register canonical values, so that the
+ same process can be used to infer a sum structure from the rank sum. In
+ that case, however, there is no ambiguity and the inference can fail,
+ because the rank sum for a trivial sum is not an arbitrary integer -- it
+ must be of the form \rank ?B. It is nevertheless necessary to use the
+ wrapped nat type for the rank sums, because in the non-trivial case the
+ head constant of the nat expression is determined by the proper_mxsum_expr
+ canonical structure, so the mxsum_expr structure must use a generic
+ constant, namely wrap.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Inductive</span> <a name="mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> <span class="id" title="var">n</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">m</span>, <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">Prop</span> :=<br/>
+&nbsp;| <a name="TrivialMxsum"><span class="id" title="constructor">TrivialMxsum</span></a> <span class="id" title="var">m</span> <span class="id" title="var">A</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;: @<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.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)<br/>
+&nbsp;| <a name="ProperMxsum"><span class="id" title="constructor">ProperMxsum</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">T1</span> <span class="id" title="var">T2</span> <span class="id" title="var">r1</span> <span class="id" title="var">r2</span> <span class="id" title="keyword">of</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@<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.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#T1"><span class="id" title="variable">T1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r1"><span class="id" title="variable">r1</span></a> &amp; @<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.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#T2"><span class="id" title="variable">T2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r2"><span class="id" title="variable">r2</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;: <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.mxalgebra.html#T1"><span class="id" title="variable">T1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#T2"><span class="id" title="variable">T2</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#r1"><span class="id" title="variable">r1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#r2"><span class="id" title="variable">r2</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> := <a name="Mxsum"><span class="id" title="constructor">Mxsum</span></a> {<br/>
+&nbsp;&nbsp;<a name="mxsum_val"><span class="id" title="projection">mxsum_val</span></a> :&gt; <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#wrapped"><span class="id" title="record">wrapped</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>;<br/>
+&nbsp;&nbsp;<a name="mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#wrapped"><span class="id" title="record">wrapped</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>;<br/>
+&nbsp;&nbsp;<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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_val"><span class="id" title="method">mxsum_val</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="method">mxsum_rank</span></a>)<br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">trivial_mxsum</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> :=<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.mxalgebra.html#Mxsum"><span class="id" title="constructor">Mxsum</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#Wrap"><span class="id" title="constructor">Wrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#Wrap"><span class="id" title="constructor">Wrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#TrivialMxsum"><span class="id" title="constructor">TrivialMxsum</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Structure</span> <a name="proper_mxsum_expr"><span class="id" title="record">proper_mxsum_expr</span></a> <span class="id" title="var">n</span> := <a name="ProperMxsumExpr"><span class="id" title="constructor">ProperMxsumExpr</span></a> {<br/>
+&nbsp;&nbsp;<a name="proper_mxsum_val"><span class="id" title="projection">proper_mxsum_val</span></a> :&gt; <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>;<br/>
+&nbsp;&nbsp;<a name="proper_mxsum_rank"><span class="id" title="projection">proper_mxsum_rank</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>;<br/>
+&nbsp;&nbsp;<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.mxalgebra.html#proper_mxsum_val"><span class="id" title="method">proper_mxsum_val</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_rank"><span class="id" title="method">proper_mxsum_rank</span></a><br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="proper_mxsumP"><span class="id" title="definition">proper_mxsumP</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_expr"><span class="id" title="record">proper_mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.algebra.mxalgebra.html#ProperMxsumExpr"><span class="id" title="constructor">ProperMxsumExpr</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.mxalgebra.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.mxalgebra.html#S"><span class="id" title="variable">S</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_rank"><span class="id" title="projection">proper_mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>)<br/>
+&nbsp;&nbsp;<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">sum_mxsum</span> <span class="id" title="var">n</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_expr"><span class="id" title="record">proper_mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) :=<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.mxalgebra.html#Mxsum"><span class="id" title="constructor">Mxsum</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#wrap"><span class="id" title="definition">wrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>)) (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#wrap"><span class="id" title="definition">wrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_rank"><span class="id" title="projection">proper_mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>)) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsumP"><span class="id" title="definition">proper_mxsumP</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.SumExpr.Binary"><span class="id" title="section">Binary</span></a>.<br/>
+<span class="id" title="keyword">Variable</span> (<a name="RowSpaceTheory.SumExpr.Binary.m1"><span class="id" title="variable">m1</span></a> <a name="RowSpaceTheory.SumExpr.Binary.m2"><span class="id" title="variable">m2</span></a> <a name="RowSpaceTheory.SumExpr.Binary.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="RowSpaceTheory.SumExpr.Binary.S1"><span class="id" title="variable">S1</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) (<a name="RowSpaceTheory.SumExpr.Binary.S2"><span class="id" title="variable">S2</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+<span class="id" title="keyword">Fact</span> <a name="binary_mxsum_proof"><span class="id" title="lemma">binary_mxsum_proof</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_spec"><span class="id" title="inductive">mxsum_spec</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Binary.S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Binary.S2"><span class="id" title="variable">S2</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Binary.S1"><span class="id" title="variable">S1</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.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_mxsum_expr</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#ProperMxsumExpr"><span class="id" title="constructor">ProperMxsumExpr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#binary_mxsum_proof"><span class="id" title="lemma">binary_mxsum_proof</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Binary"><span class="id" title="section">Binary</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.SumExpr.Nary"><span class="id" title="section">Nary</span></a>.<br/>
+<span class="id" title="keyword">Context</span> <span class="id" title="var">J</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.mxalgebra.html#J"><span class="id" title="variable">J</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#J"><span class="id" title="variable">J</span></a>) <span class="id" title="var">n</span> (<span class="id" title="var">S_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#J"><span class="id" title="variable">J</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>).<br/>
+<span class="id" title="keyword">Fact</span> <a name="nary_mxsum_proof"><span class="id" title="lemma">nary_mxsum_proof</span></a> :<br/>
+&nbsp;&nbsp;<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.mxalgebra.html#99ebe9d9a74694e8687b6f8adc097de4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#99ebe9d9a74694e8687b6f8adc097de4"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#99ebe9d9a74694e8687b6f8adc097de4"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#99ebe9d9a74694e8687b6f8adc097de4"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#99ebe9d9a74694e8687b6f8adc097de4"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#99ebe9d9a74694e8687b6f8adc097de4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary.S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary.r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ea7e35bae15685d5cd3430a8e48be02b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary.S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a>))).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">nary_mxsum_expr</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#ProperMxsumExpr"><span class="id" title="constructor">ProperMxsumExpr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#nary_mxsum_proof"><span class="id" title="lemma">nary_mxsum_proof</span></a>.<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr.Nary"><span class="id" title="section">Nary</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxdirect_def"><span class="id" title="definition">mxdirect_def</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">T</span> <span class="id" title="keyword">of</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#phantom"><span class="id" title="inductive">phantom</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_val"><span class="id" title="projection">mxsum_val</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#T"><span class="id" title="variable">T</span></a>)) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#T"><span class="id" title="variable">T</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#T"><span class="id" title="variable">T</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SumExpr"><span class="id" title="section">SumExpr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <span class="id" title="var">A</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect_def"><span class="id" title="definition">mxdirect_def</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phantom"><span class="id" title="constructor">Phantom</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a> <span class="id" title="var">A</span>%<span class="id" title="var">MS</span>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirectP"><span class="id" title="lemma">mxdirectP</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_expr"><span class="id" title="record">proper_mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#proper_mxsum_rank"><span class="id" title="projection">proper_mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_trivial"><span class="id" title="lemma">mxdirect_trivial</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (@<a class="idref" href="mathcomp.algebra.mxalgebra.html#trivial_mxsum"><span class="id" title="definition">trivial_mxsum</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_sum_leqif"><span class="id" title="lemma">mxrank_sum_leqif</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">≤</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#f0472472bc7977d4afb419d87444a23b"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirectE"><span class="id" title="lemma">mxdirectE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirectEgeq"><span class="id" title="lemma">mxdirectEgeq</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">S</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#3cf4ddd1c78e2b0890c629753f41711f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#08fe8636f4b45ae6787c490d19de1366"><span class="id" title="notation">≥</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_rank"><span class="id" title="projection">mxsum_rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S"><span class="id" title="variable">S</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.BinaryDirect"><span class="id" title="section">BinaryDirect</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="RowSpaceTheory.BinaryDirect.m1"><span class="id" title="variable">m1</span></a> <a name="RowSpaceTheory.BinaryDirect.m2"><span class="id" title="variable">m2</span></a> <a name="RowSpaceTheory.BinaryDirect.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_addsE"><span class="id" title="lemma">mxdirect_addsE</span></a> (<span class="id" title="var">S1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.n"><span class="id" title="variable">n</span></a>) (<span class="id" title="var">S2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S2"><span class="id" title="variable">S2</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S1"><span class="id" title="variable">S1</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S2"><span class="id" title="variable">S2</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S1"><span class="id" title="variable">S1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S2"><span class="id" title="variable">S2</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_addsP"><span class="id" title="lemma">mxdirect_addsP</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.BinaryDirect"><span class="id" title="section">BinaryDirect</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.NaryDirect"><span class="id" title="section">NaryDirect</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a>) (<a name="RowSpaceTheory.NaryDirect.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.NaryDirect.TIsum"><span class="id" title="variable">TIsum</span></a> <span class="id" title="var">A_</span> <span class="id" title="var">i</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RowSpaceTheory.NaryDirect.mxdirect_sums_recP"><span class="id" title="variable">mxdirect_sums_recP</span></a> (<span class="id" title="var">S_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.TIsum"><span class="id" title="variable">TIsum</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#S_"><span class="id" title="variable">S_</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_sumsP"><span class="id" title="lemma">mxdirect_sumsP</span></a> (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">j</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#j"><span class="id" title="variable">j</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_sumsE"><span class="id" title="lemma">mxdirect_sumsE</span></a> (<span class="id" title="var">S_</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxsum_expr"><span class="id" title="record">mxsum_expr</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.n"><span class="id" title="variable">n</span></a>) (<span class="id" title="var">xunwrap</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#and"><span class="id" title="inductive">and</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#xunwrap"><span class="id" title="variable">xunwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a>)))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#unwrap"><span class="id" title="projection">unwrap</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#S_"><span class="id" title="variable">S_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.NaryDirect"><span class="id" title="section">NaryDirect</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.SubDaddsmx"><span class="id" title="section">SubDaddsmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="RowSpaceTheory.SubDaddsmx.m"><span class="id" title="variable">m</span></a> <a name="RowSpaceTheory.SubDaddsmx.m1"><span class="id" title="variable">m1</span></a> <a name="RowSpaceTheory.SubDaddsmx.m2"><span class="id" title="variable">m2</span></a> <a name="RowSpaceTheory.SubDaddsmx.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RowSpaceTheory.SubDaddsmx.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) (<a name="RowSpaceTheory.SubDaddsmx.B1"><span class="id" title="variable">B1</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) (<a name="RowSpaceTheory.SubDaddsmx.B2"><span class="id" title="variable">B2</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="sub_daddsmx_spec"><span class="id" title="inductive">sub_daddsmx_spec</span></a> : <span class="id" title="keyword">Prop</span> :=<br/>
+&nbsp;&nbsp;<a name="SubDaddsmxSpec"><span class="id" title="constructor">SubDaddsmxSpec</span></a> <span class="id" title="var">A1</span> <span class="id" title="var">A2</span> <span class="id" title="keyword">of</span> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B1"><span class="id" title="variable">B1</span></a>)%<span class="id" title="var">MS</span> &amp; (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B2"><span class="id" title="variable">B2</span></a>)%<span class="id" title="var">MS</span> &amp; <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp; <span class="id" title="keyword">∀</span> <span class="id" title="var">C1</span> <span class="id" title="var">C2</span>, (<a class="idref" href="mathcomp.algebra.mxalgebra.html#C1"><span class="id" title="variable">C1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B1"><span class="id" title="variable">B1</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#C2"><span class="id" title="variable">C2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B2"><span class="id" title="variable">B2</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C1"><span class="id" title="variable">C1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C2"><span class="id" title="variable">C2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C1"><span class="id" title="variable">C1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C2"><span class="id" title="variable">C2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_daddsmx"><span class="id" title="lemma">sub_daddsmx</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B1"><span class="id" title="variable">B1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2caeadd15d44390ff4fc0106b8e96c32"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B2"><span class="id" title="variable">B2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B1"><span class="id" title="variable">B1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#46b28b862ebc4bda38b5188071e2f20c"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx.B2"><span class="id" title="variable">B2</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#sub_daddsmx_spec"><span class="id" title="inductive">sub_daddsmx_spec</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDaddsmx"><span class="id" title="section">SubDaddsmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.SubDsumsmx"><span class="id" title="section">SubDsumsmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a>) (<a name="RowSpaceTheory.SubDsumsmx.m"><span class="id" title="variable">m</span></a> <a name="RowSpaceTheory.SubDsumsmx.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="RowSpaceTheory.SubDsumsmx.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) (<a name="RowSpaceTheory.SubDsumsmx.B"><span class="id" title="variable">B</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="sub_dsumsmx_spec"><span class="id" title="inductive">sub_dsumsmx_spec</span></a> : <span class="id" title="keyword">Prop</span> :=<br/>
+&nbsp;&nbsp;<a name="SubDsumsmxSpec"><span class="id" title="constructor">SubDsumsmxSpec</span></a> <span class="id" title="var">A_</span> <span class="id" title="keyword">of</span> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp; <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp; <span class="id" title="keyword">∀</span> <span class="id" title="var">C</span>, (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#SimplPred"><span class="id" title="definition">SimplPred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#2500d48ed8e862ccfda98a44dff88963"><span class="id" title="notation">=1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sub_dsumsmx"><span class="id" title="lemma">sub_dsumsmx</span></a> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#sub_dsumsmx_spec"><span class="id" title="inductive">sub_dsumsmx_spec</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.SubDsumsmx"><span class="id" title="section">SubDsumsmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RowSpaceTheory.Eigenspace"><span class="id" title="section">Eigenspace</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RowSpaceTheory.Eigenspace.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="RowSpaceTheory.Eigenspace.g"><span class="id" title="variable">g</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#93ce48d079482e776b2a4aab92a63444"><span class="id" title="notation">M_n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="eigenspace"><span class="id" title="definition">eigenspace</span></a> <span class="id" title="var">a</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Eigenspace.g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="eigenvalue"><span class="id" title="definition">eigenvalue</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.F"><span class="id" title="variable">F</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">a</span> ⇒ <a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenspace"><span class="id" title="definition">eigenspace</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eigenspaceP"><span class="id" title="lemma">eigenspaceP</span></a> <span class="id" title="var">a</span> <span class="id" title="var">m</span> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Eigenspace.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#88dd4b2c2e6318afa7008df815f99a1a"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Eigenspace.g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#92e34d658f9a1b6a4d0f8de14c29c81c"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenspace"><span class="id" title="definition">eigenspace</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eigenvalueP"><span class="id" title="lemma">eigenvalueP</span></a> <span class="id" title="var">a</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.Eigenspace.g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenvalue"><span class="id" title="definition">eigenvalue</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_sum_eigenspace"><span class="id" title="lemma">mxdirect_sum_eigenspace</span></a> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory.I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">a_</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a_"><span class="id" title="variable">a_</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#267fe5cb19a4f9c37deb7c452a25ccb6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenspace"><span class="id" title="definition">eigenspace</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#a_"><span class="id" title="variable">a_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.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.mxalgebra.html#RowSpaceTheory.Eigenspace"><span class="id" title="section">Eigenspace</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#RowSpaceTheory"><span class="id" title="section">RowSpaceTheory</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">submx_refl</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">&quot;</span></a>\rank A" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank"><span class="id" title="definition">mxrank</span></a> <span class="id" title="var">A</span>) : <span class="id" title="var">nat_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&quot;</span></a>&lt;&lt; A &gt;&gt;" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#genmx"><span class="id" title="definition">genmx</span></a> <span class="id" title="var">A</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">&quot;</span></a>A ^C" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#complmx"><span class="id" title="definition">complmx</span></a> <span class="id" title="var">A</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">&quot;</span></a>A &lt;= B" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9fb9809f0de6e5c70a07575d5458a53e"><span class="id" title="notation">&quot;</span></a>A &lt; B" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a1b4ea64f146c6d055d065c894f8cf2a"><span class="id" title="notation">&quot;</span></a>A &lt;= B &lt;= C" := (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">B</span> <span class="id" title="var">C</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d9ea49cb89580bcf8a5574ea42be6467"><span class="id" title="notation">&quot;</span></a>A &lt; B &lt;= C" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">B</span> <span class="id" title="var">C</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="330a02895f982a3e7c04616cdee03771"><span class="id" title="notation">&quot;</span></a>A &lt;= B &lt; C" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <span class="id" title="var">B</span> <span class="id" title="var">C</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="9d384dbebd7f19942980ee8ae3861f46"><span class="id" title="notation">&quot;</span></a>A &lt; B &lt; C" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> <span class="id" title="var">B</span> <span class="id" title="var">C</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5e36479739860cd244bd34c609f10109"><span class="id" title="notation">&quot;</span></a>A == B" := (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> <span class="id" title="var">B</span> <span class="id" title="var">A</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">&quot;</span></a>A :=: B" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#eqmx"><span class="id" title="definition">eqmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">&quot;</span></a>A + B" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">&quot;</span></a>A :&amp;: B" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="09728f32fede5dee4dfccad9739422e8"><span class="id" title="notation">&quot;</span></a>A :\: B" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#diffmx"><span class="id" title="definition">diffmx</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <span class="id" title="var">S</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect_def"><span class="id" title="definition">mxdirect_def</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#Phantom"><span class="id" title="constructor">Phantom</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a><span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a> <span class="id" title="var">S</span>%<span class="id" title="var">MS</span>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt;- r | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><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#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="195521b4ce7300b84f06b410b6d69de0"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt;- r ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="b0d2f22a1ea60cea1042a164a1a8fe11"><span class="id" title="notation">&quot;</span></a>\sum_ ( m &lt;= i &lt; n | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><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#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="fbd97e292e5e4635d769277a0ae94b8b"><span class="id" title="notation">&quot;</span></a>\sum_ ( m &lt;= i &lt; n ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">&quot;</span></a>\sum_ ( i | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><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#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">&quot;</span></a>\sum_ i B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">&quot;</span></a>\sum_ ( i : t | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><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#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="d616ea0def93d66606af266470d875c4"><span class="id" title="notation">&quot;</span></a>\sum_ ( i : t ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6304699ff6314894dadbdf939c913ca3"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt; n | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><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#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="aeaf7456b5f63e1187e10faf83214324"><span class="id" title="notation">&quot;</span></a>\sum_ ( i &lt; n ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="39629a528edaa7245c83047fdb4e6f4e"><span class="id" title="notation">&quot;</span></a>\sum_ ( i 'in' A | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><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#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">&quot;</span></a>\sum_ ( i 'in' A ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#addsmx"><span class="id" title="definition">addsmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>0%<span class="id" title="var">R</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt;- r | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><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#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="845a32e2b6ac0c8cb7ff31d46b5effbe"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt;- r ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">&lt;-</span></a> <span class="id" title="var">r</span><a class="idref" href="mathcomp.ssreflect.bigop.html#30705c25db0a97e8b1b08168f9199b27"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="4c61e2e86aaaed7199d7969c55dde83a"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( m &lt;= i &lt; n | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#f420cd67a470642ef8830577affa92e5"><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#f420cd67a470642ef8830577affa92e5"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="50bd67d6e1114dc77e277f97fc8c5e87"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( m &lt;= i &lt; n ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">(</span></a><span class="id" title="var">m</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#db346c83cc8192751cf56eb8b0029d40"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="832ade9269dc0679b2f47948785795cb"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><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#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="54e7d9f4b977a8c6a97cf3c43491cf52"><span class="id" title="notation">&quot;</span></a>\bigcap_ i B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a0ddbff8fbef0617dd5dab072904e591"><span class="id" title="notation">_i</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="a0706a1c863da06a9ac8711872d1a241"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i : t | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec673a52d55e56af63579baa68d352ee"><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#ec673a52d55e56af63579baa68d352ee"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="14ab555d1cb58909e936ca429ff4e681"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i : t ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">:</span></a> <span class="id" title="var">t</span><a class="idref" href="mathcomp.ssreflect.bigop.html#7c24ccda1da6510c0183e6d456463b39"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="6d00948f0afb96dc8f2c0b3c2b4f5963"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt; n | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#dc42c7ad0ea9096c0f795649807315df"><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#dc42c7ad0ea9096c0f795649807315df"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="cd0b2dfadab058fb8fcd2a17029fa3d9"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i &lt; n ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">&lt;</span></a> <span class="id" title="var">n</span><a class="idref" href="mathcomp.ssreflect.bigop.html#567079cee6eb2eba482323c7e8d08df5"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e774fc61187b067979331225b8061991"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i 'in' A | P ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a9a46078b76c2e36303d504b8fb5bbb3"><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#a9a46078b76c2e36303d504b8fb5bbb3"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="33d67d3525c53acfe6774eee5cf035af"><span class="id" title="notation">&quot;</span></a>\bigcap_ ( i 'in' A ) B" :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx"><span class="id" title="definition">capmx</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <span class="id" title="var">A</span><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <span class="id" title="var">B</span>%<span class="id" title="var">MS</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="DirectSums"><span class="id" title="section">DirectSums</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="DirectSums.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="DirectSums.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="DirectSums.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#I"><span class="id" title="variable">I</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_delta"><span class="id" title="lemma">mxdirect_delta</span></a> <span class="id" title="var">n</span> <span class="id" title="var">f</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#DirectSums.P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#DirectSums.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.matrix.html#delta_mx"><span class="id" title="definition">delta_mx</span></a> 0 (<a class="idref" href="mathcomp.algebra.mxalgebra.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">rV</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#DirectSums.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#DirectSums"><span class="id" title="section">DirectSums</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="CardGL"><span class="id" title="section">CardGL</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="CardGL.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.finalg.html#FinRing.Field.Exports.finFieldType"><span class="id" title="abbreviation">finFieldType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_GL"><span class="id" title="lemma">card_GL</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">GL_n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> 2<a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ An alternate, somewhat more elementary proof, that does not rely on the
+ row-space theory, but directly performs the LUP decomposition.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="LUP_card_GL"><span class="id" title="lemma">LUP_card_GL</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">GL_n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> 2<a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">prod_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">(</span></a>1 <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">≤</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9482aae3d3b06e249765c1225dbb8cbb"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.ssreflect.bigop.html#a394fade46b35354f996bd50f29a270c"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_GL_1"><span class="id" title="lemma">card_GL_1</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">GL_1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_GL_2"><span class="id" title="lemma">card_GL_2</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">GL_2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9d15bf4f7c2b7d6b94fee6bdd940e5b4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#CardGL"><span class="id" title="section">CardGL</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="logn_card_GL_p"><span class="id" title="lemma">logn_card_GL_p</span></a> <span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6fd9f66265063abfc4b6d9b6bff4ad18"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6fd9f66265063abfc4b6d9b6bff4ad18"><span class="id" title="notation">GL_n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6fd9f66265063abfc4b6d9b6bff4ad18"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6fd9f66265063abfc4b6d9b6bff4ad18"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">,</span></a> 2<a class="idref" href="mathcomp.ssreflect.binomial.html#f55f24aacb42fe0283014d29bcccb8c2"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixAlgebra"><span class="id" title="section">MatrixAlgebra</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> <a name="MatrixAlgebra.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem0mx"><span class="id" title="lemma">mem0mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : 0 <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx0"><span class="id" title="lemma">memmx0</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6a8cb243fd3c774d82487c7bb2ab694b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6a8cb243fd3c774d82487c7bb2ab694b"><span class="id" title="notation">A_n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx1"><span class="id" title="lemma">memmx1</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#is_scalar_mx"><span class="id" title="definition">is_scalar_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx_subP"><span class="id" title="lemma">memmx_subP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx_eqP"><span class="id" title="lemma">memmx_eqP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5e36479739860cd244bd34c609f10109"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx_addsP"><span class="id" title="lemma">memmx_addsP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">D</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c4877bbfe60d8f22b47ac99ace86216a"><span class="id" title="notation">.1</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#D"><span class="id" title="variable">D</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#f4827404159513e7fd691b60b7877737"><span class="id" title="notation">.2</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx_sumsP"><span class="id" title="lemma">memmx_sumsP</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/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) <span class="id" title="var">R_</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">A_</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R_"><span class="id" title="variable">R_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R_"><span class="id" title="variable">R_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="has_non_scalar_mxP"><span class="id" title="lemma">has_non_scalar_mxP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : <br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">A</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#is_scalar_mx"><span class="id" title="definition">is_scalar_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> (1 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mulsmx"><span class="id" title="definition">mulsmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</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.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</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.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)))<a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_muls"><span class="id" title="lemma">genmx_muls</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a>(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_mulsmx"><span class="id" title="lemma">mem_mulsmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) <span class="id" title="var">A1</span> <span class="id" title="var">A2</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmx_subP"><span class="id" title="lemma">mulsmx_subP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">A1</span> <span class="id" title="var">A2</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmxS"><span class="id" title="lemma">mulsmxS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">m4</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">R3</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R4</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m4"><span class="id" title="variable">m4</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R4"><span class="id" title="variable">R4</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R4"><span class="id" title="variable">R4</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="muls_eqmx"><span class="id" title="lemma">muls_eqmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">m4</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">R3</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R4</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m4"><span class="id" title="variable">m4</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R4"><span class="id" title="variable">R4</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R4"><span class="id" title="variable">R4</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmxP"><span class="id" title="lemma">mulsmxP</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">A1</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">A2</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2<a class="idref" href="mathcomp.algebra.ssralg.html#b2bfc5b99c28e2c89b336d5f86347706"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A1"><span class="id" title="variable">A1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A2"><span class="id" title="variable">A2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmxA"><span class="id" title="lemma">mulsmxA</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R3</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmx_addl"><span class="id" title="lemma">mulsmx_addl</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R3</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmx_addr"><span class="id" title="lemma">mulsmx_addr</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">m3</span> <span class="id" title="var">n</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R3</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m3"><span class="id" title="variable">m3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R3"><span class="id" title="variable">R3</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mulsmx0"><span class="id" title="lemma">mulsmx0</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="muls0mx"><span class="id" title="lemma">muls0mx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">(</span></a>0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="left_mx_ideal"><span class="id" title="definition">left_mx_ideal</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="right_mx_ideal"><span class="id" title="definition">right_mx_ideal</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#fd554c34965aa6852b3a09f211aef8b0"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_ideal"><span class="id" title="definition">mx_ideal</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#left_mx_ideal"><span class="id" title="definition">left_mx_ideal</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#right_mx_ideal"><span class="id" title="definition">right_mx_ideal</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxring_id"><span class="id" title="definition">mxring_id</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) <span class="id" title="var">e</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">,</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">,</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">&amp;</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">]</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="has_mxring_id"><span class="id" title="definition">has_mxring_id</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.matrix.html#row_mx"><span class="id" title="definition">row_mx</span></a> 0 (<a class="idref" href="mathcomp.algebra.matrix.html#row_mx"><span class="id" title="definition">row_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>) (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#row_mx"><span class="id" title="definition">row_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>) (<a class="idref" href="mathcomp.algebra.matrix.html#row_mx"><span class="id" title="definition">row_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mulmx"><span class="id" title="definition">lin_mulmx</span></a>))<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mulmxr"><span class="id" title="definition">lin_mulmxr</span></a>))))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxring"><span class="id" title="definition">mxring</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#left_mx_ideal"><span class="id" title="definition">left_mx_ideal</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#has_mxring_id"><span class="id" title="definition">has_mxring_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxring_idP"><span class="id" title="lemma">mxring_idP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">e</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring_id"><span class="id" title="definition">mxring_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e"><span class="id" title="variable">e</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#has_mxring_id"><span class="id" title="definition">has_mxring_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixAlgebra.CentMxDef"><span class="id" title="section">CentMxDef</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixAlgebra.CentMxDef.m"><span class="id" title="variable">m</span></a> <a name="MatrixAlgebra.CentMxDef.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="MatrixAlgebra.CentMxDef.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d28ed5889dd5bd7699eb66e93fcf8a1c"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="cent_mx_fun"><span class="id" title="definition">cent_mx_fun</span></a> (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) := <a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.CentMxDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</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.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#35189e9513aa6c3f11385f2c0e19be6d"><span class="id" title="notation">\-</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_mx_fun_is_linear"><span class="id" title="lemma">cent_mx_fun_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.mxalgebra.html#cent_mx_fun"><span class="id" title="definition">cent_mx_fun</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cent_mx_fun_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.mxalgebra.html#cent_mx_fun_is_linear"><span class="id" title="lemma">cent_mx_fun_is_linear</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">cent_mx_fun_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.mxalgebra.html#cent_mx_fun_is_linear"><span class="id" title="lemma">cent_mx_fun_is_linear</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="cent_mx"><span class="id" title="definition">cent_mx</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.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#cent_mx_fun"><span class="id" title="definition">cent_mx_fun</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="center_mx"><span class="id" title="definition">center_mx</span></a> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.CentMxDef.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#cent_mx"><span class="id" title="definition">cent_mx</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra.CentMxDef"><span class="id" title="section">CentMxDef</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_rowP"><span class="id" title="lemma">cent_rowP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">B</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> (<span class="id" title="var">A</span> := <a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</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.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>)), <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_mxP"><span class="id" title="lemma">cent_mxP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">B</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scalar_mx_cent"><span class="id" title="lemma">scalar_mx_cent</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">a</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="center_mx_sub"><span class="id" title="lemma">center_mx_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="center_mxP"><span class="id" title="lemma">center_mxP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">B</span>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#002b20fea7ea6146f072b539b8de9620"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxring_id_uniq"><span class="id" title="lemma">mxring_id_uniq</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) <span class="id" title="var">e1</span> <span class="id" title="var">e2</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring_id"><span class="id" title="definition">mxring_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring_id"><span class="id" title="definition">mxring_id</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e2"><span class="id" title="variable">e2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e1"><span class="id" title="variable">e1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e2"><span class="id" title="variable">e2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_mx_ideal"><span class="id" title="lemma">cent_mx_ideal</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#left_mx_ideal"><span class="id" title="definition">left_mx_ideal</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">)</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">)</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_mx_ring"><span class="id" title="lemma">cent_mx_ring</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring"><span class="id" title="definition">mxring</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#6f6a817e8af480225304556c4b1a37bc"><span class="id" title="notation">)</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_adds_center"><span class="id" title="lemma">mxdirect_adds_center</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">R1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">R2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mx_ideal"><span class="id" title="definition">mx_ideal</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mx_ideal"><span class="id" title="definition">mx_ideal</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R1"><span class="id" title="variable">R1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R2"><span class="id" title="variable">R2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxdirect_sums_center"><span class="id" title="lemma">mxdirect_sums_center</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">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) <span class="id" title="var">R_</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R_"><span class="id" title="variable">R_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R_"><span class="id" title="variable">R_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#I"><span class="id" title="variable">I</span></a>, <a class="idref" href="mathcomp.algebra.mxalgebra.html#mx_ideal"><span class="id" title="definition">mx_ideal</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#R_"><span class="id" title="variable">R_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#R_"><span class="id" title="variable">R_</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9fdeed72b47a12f54ffaf8faf3f4e8a4"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#MatrixAlgebra"><span class="id" title="section">MatrixAlgebra</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">&quot;</span></a>A \in R" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#submx"><span class="id" title="definition">submx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <span class="id" title="var">A</span>) <span class="id" title="var">R</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e1933dd1dc5a439f13af26926cf1eb7b"><span class="id" title="notation">&quot;</span></a>R * S" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#mulsmx"><span class="id" title="definition">mulsmx</span></a> <span class="id" title="var">R</span> <span class="id" title="var">S</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">&quot;</span></a>''C' ( R )" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#cent_mx"><span class="id" title="definition">cent_mx</span></a> <span class="id" title="var">R</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="03fcd60414435adb7df518261801fd6f"><span class="id" title="notation">&quot;</span></a>''C_' R ( S )" := (<span class="id" title="var">R</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">(</span></a><span class="id" title="var">S</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="4c1ecc3d7e0e67d99a4d5a27544cc715"><span class="id" title="notation">&quot;</span></a>''C_' ( R ) ( S )" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#03fcd60414435adb7df518261801fd6f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#03fcd60414435adb7df518261801fd6f"><span class="id" title="notation">C_R</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#03fcd60414435adb7df518261801fd6f"><span class="id" title="notation">(</span></a><span class="id" title="var">S</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#03fcd60414435adb7df518261801fd6f"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> (<span class="id" title="var">only</span> <span class="id" title="var">parsing</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">&quot;</span></a>''Z' ( R )" := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#center_mx"><span class="id" title="definition">center_mx</span></a> <span class="id" title="var">R</span>) : <span class="id" title="var">matrix_set_scope</span>.<br/>
+
+<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Parametricity for the row-space/F-algebra theory.
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="MapMatrixSpaces"><span class="id" title="section">MapMatrixSpaces</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MapMatrixSpaces.aF"><span class="id" title="variable">aF</span></a> <a name="MapMatrixSpaces.rF"><span class="id" title="variable">rF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="MapMatrixSpaces.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#aF"><span class="id" title="variable">aF</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#rF"><span class="id" title="variable">rF</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Gaussian_elimination_map"><span class="id" title="lemma">Gaussian_elimination_map</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#Gaussian_elimination"><span class="id" title="definition">Gaussian_elimination</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_map"><span class="id" title="lemma">mxrank_map</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_free_map"><span class="id" title="lemma">row_free_map</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_full_map"><span class="id" title="lemma">row_full_map</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_row_ebase"><span class="id" title="lemma">map_row_ebase</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_col_ebase"><span class="id" title="lemma">map_col_ebase</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#col_ebase"><span class="id" title="definition">col_ebase</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_row_base"><span class="id" title="lemma">map_row_base</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#castmx"><span class="id" title="definition">castmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank_map"><span class="id" title="lemma">mxrank_map</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_col_base"><span class="id" title="lemma">map_col_base</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#col_base"><span class="id" title="definition">col_base</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#castmx"><span class="id" title="definition">castmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">(</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#erefl"><span class="id" title="abbreviation">erefl</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxrank_map"><span class="id" title="lemma">mxrank_map</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#44400027531d4bc3f586a1997dc874c0"><span class="id" title="notation">)</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#col_base"><span class="id" title="definition">col_base</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_pinvmx"><span class="id" title="lemma">map_pinvmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#pinvmx"><span class="id" title="definition">pinvmx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_kermx"><span class="id" title="lemma">map_kermx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</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.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_cokermx"><span class="id" title="lemma">map_cokermx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_submx"><span class="id" title="lemma">map_submx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_ltmx"><span class="id" title="lemma">map_ltmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fb9809f0de6e5c70a07575d5458a53e"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fb9809f0de6e5c70a07575d5458a53e"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_eqmx"><span class="id" title="lemma">map_eqmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_genmx"><span class="id" title="lemma">map_genmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_addsmx"><span class="id" title="lemma">map_addsmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_capmx_gen"><span class="id" title="lemma">map_capmx_gen</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#capmx_gen"><span class="id" title="definition">capmx_gen</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_capmx"><span class="id" title="lemma">map_capmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_complmx"><span class="id" title="lemma">map_complmx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_diffmx"><span class="id" title="lemma">map_diffmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">B</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#09728f32fede5dee4dfccad9739422e8"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#09728f32fede5dee4dfccad9739422e8"><span class="id" title="notation">:\:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_eigenspace"><span class="id" title="lemma">map_eigenspace</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenspace"><span class="id" title="definition">eigenspace</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenspace"><span class="id" title="definition">eigenspace</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#MapMatrixSpaces.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eigenvalue_map"><span class="id" title="lemma">eigenvalue_map</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenvalue"><span class="id" title="definition">eigenvalue</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#MapMatrixSpaces.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eigenvalue"><span class="id" title="definition">eigenvalue</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a"><span class="id" title="variable">a</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx_map"><span class="id" title="lemma">memmx_map</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_mulsmx"><span class="id" title="lemma">map_mulsmx</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">n</span> (<span class="id" title="var">E1</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">E2</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;((<a class="idref" href="mathcomp.algebra.mxalgebra.html#E1"><span class="id" title="variable">E1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e1933dd1dc5a439f13af26926cf1eb7b"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#E2"><span class="id" title="variable">E2</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#E1"><span class="id" title="variable">E1</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e1933dd1dc5a439f13af26926cf1eb7b"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#E2"><span class="id" title="variable">E2</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_cent_mx"><span class="id" title="lemma">map_cent_mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">)</span></a>%<span class="id" title="var">MS</span><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">)</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_center_mx"><span class="id" title="lemma">map_center_mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#b131265909f3a801cb4367eec910d732"><span class="id" title="notation">f</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#MapMatrixSpaces"><span class="id" title="section">MapMatrixSpaces</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