diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.character.mxabelem.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.character.mxabelem.html | 720 |
1 files changed, 720 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.character.mxabelem.html b/docs/htmldoc/mathcomp.character.mxabelem.html new file mode 100644 index 0000000..2830ce6 --- /dev/null +++ b/docs/htmldoc/mathcomp.character.mxabelem.html @@ -0,0 +1,720 @@ +<!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.character.mxabelem</title> +</head> + +<body> + +<div id="page"> + +<div id="header"> +</div> + +<div id="main"> + +<h1 class="libtitle">Library mathcomp.character.mxabelem</h1> + +<div class="code"> +<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> + Distributed under the terms of CeCILL-B. *)</span><br/> +<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"> + This file completes the theory developed in mxrepresentation.v with the + construction and properties of linear representations over finite fields, + and in particular the correspondance between internal action on a (normal) + elementary abelian p-subgroup and a linear representation on an Fp-module. + We provide the following next constructions for a finite field F: + 'Zm%act == the action of {unit F} on 'M[F]</i>(m, n). + rowg A == the additive group of 'rV[F]_n spanned by the row space + of the matrix A. + rowg_mx L == the partial inverse to rowg; for any 'Zm-stable group L + of 'rV[F]_n we have rowg (rowg_mx L) = L. + GLrepr F n == the natural, faithful representation of 'GL_n[F]. + reprGLm rG == the morphism G >-> 'GL_n[F] equivalent to the + representation r of G (with rG : mx_repr r G). + ('MR rG)%act == the action of G on 'rV[F]_n equivalent to the + representation r of G (with rG : mx_repr r G). + The second set of constructions defines the interpretation of a normal + non-trivial elementary abelian p-subgroup as an 'F_p module. We assume + abelE : p.-abelem E and ntE : E != 1, throughout, as these are needed to + build the isomorphism between E and a nontrivial 'rV['F_p]_n. + 'rV(E) == the type of row vectors of the 'F_p module equivalent + to E when E is a non-trivial p.-abelem group. + 'M(E) == the type of matrices corresponding to E. + 'dim E == the width of vectors/matrices in 'rV(E) / 'M(E). + abelem_rV abelE ntE == the one-to-one injection of E onto 'rV(E). + rVabelem abelE ntE == the one-to-one projection of 'rV(E) onto E. + abelem_repr abelE ntE nEG == the representation of G on 'rV(E) that is + equivalent to conjugation by G in E; here abelE, ntE are + as above, and G \subset 'N(E). + This file end with basic results on p-modular representations of p-groups, + and theorems giving the structure of the representation of extraspecial + groups; these results use somewhat more advanced group theory than the + rest of mxrepresentation, in particular, results of sylow.v and maximal.v. +</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> <span class="id" title="var">GRing.Theory</span> <span class="id" title="var">FinRing.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/> +</div> + +<div class="doc"> + Special results for representations on a finite field. In this case, the + representation is equivalent to a morphism into the general linear group + 'GL_n[F]. It is furthermore equivalent to a group action on the finite + additive group of the corresponding row space 'rV_n. In addition, row + spaces of matrices in 'M[F]_n correspond to subgroups of that vector group + (this is only surjective when F is a prime field 'F_p), with moduleules + corresponding to subgroups stabilized by the external action. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Section</span> <a name="FinRingRepr"><span class="id" title="section">FinRingRepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> (<a name="FinRingRepr.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.finalg.html#FinRing.ComUnitRing.Exports.finComUnitRingType"><span class="id" title="abbreviation">finComUnitRingType</span></a>) (<a name="FinRingRepr.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>).<br/> +<span class="id" title="keyword">Variables</span> (<a name="FinRingRepr.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinRingRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="FinRingRepr.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="FinRingRepr.rG"><span class="id" title="variable">rG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_representation"><span class="id" title="record">mx_representation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinRingRepr.R"><span class="id" title="variable">R</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="variable">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="mx_repr_act"><span class="id" title="definition">mx_repr_act</span></a> (<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>) <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#FinRingRepr.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#subg"><span class="id" title="definition">subg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinRingRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mx_repr_actE"><span class="id" title="lemma">mx_repr_actE</span></a> <span class="id" title="var">u</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinRingRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_act"><span class="id" title="definition">mx_repr_act</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#FinRingRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="mx_repr_is_action"><span class="id" title="lemma">mx_repr_is_action</span></a> : <a class="idref" href="mathcomp.fingroup.action.html#is_action"><span class="id" title="definition">is_action</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinRingRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_act"><span class="id" title="definition">mx_repr_act</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="keyword">Structure</span> <span class="id" title="var">mx_repr_action</span> := <a class="idref" href="mathcomp.fingroup.action.html#Action"><span class="id" title="constructor">Action</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_is_action"><span class="id" title="lemma">mx_repr_is_action</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="mx_repr_is_groupAction"><span class="id" title="lemma">mx_repr_is_groupAction</span></a> : <a class="idref" href="mathcomp.fingroup.action.html#is_groupAction"><span class="id" title="definition">is_groupAction</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.character.mxabelem.html#FinRingRepr.R"><span class="id" title="variable">R</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.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_action"><span class="id" title="definition">mx_repr_action</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="keyword">Structure</span> <span class="id" title="var">mx_repr_groupAction</span> := <a class="idref" href="mathcomp.fingroup.action.html#GroupAction"><span class="id" title="constructor">GroupAction</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_is_groupAction"><span class="id" title="lemma">mx_repr_is_groupAction</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#FinRingRepr"><span class="id" title="section">FinRingRepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">"</span></a>''MR' rG" := (<a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_action"><span class="id" title="definition">mx_repr_action</span></a> <span class="id" title="var">rG</span>)<br/> + (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">rG</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8) : <span class="id" title="var">action_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="adbb269d391e8e44bd9dc87d0a6b649c"><span class="id" title="notation">"</span></a>''MR' rG" := (<a class="idref" href="mathcomp.character.mxabelem.html#mx_repr_groupAction"><span class="id" title="definition">mx_repr_groupAction</span></a> <span class="id" title="var">rG</span>) : <span class="id" title="var">groupAction_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="FinFieldRepr"><span class="id" title="section">FinFieldRepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="FinFieldRepr.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/> +</div> + +<div class="doc"> + The external group action (by scaling) of the multiplicative unit group + of the finite field, and the correspondence between additive subgroups + of row vectors that are stable by this action, and the matrix row spaces. +</div> +<div class="code"> +<span class="id" title="keyword">Section</span> <a name="FinFieldRepr.ScaleAction"><span class="id" title="section">ScaleAction</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="FinFieldRepr.ScaleAction.m"><span class="id" title="variable">m</span></a> <a name="FinFieldRepr.ScaleAction.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">Definition</span> <a name="scale_act"><span class="id" title="definition">scale_act</span></a> (<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.character.mxabelem.html#FinFieldRepr.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.character.mxabelem.html#FinFieldRepr.ScaleAction.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.character.mxabelem.html#FinFieldRepr.ScaleAction.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">a</span> : <a class="idref" href="mathcomp.algebra.finalg.html#f7c6b2be51cd10aae4ae8951352903f1"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.finalg.html#f7c6b2be51cd10aae4ae8951352903f1"><span class="id" title="notation">unit</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.finalg.html#f7c6b2be51cd10aae4ae8951352903f1"><span class="id" title="notation">}</span></a>) := <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>.<br/> +<span class="id" title="keyword">Lemma</span> <a name="scale_actE"><span class="id" title="lemma">scale_actE</span></a> <span class="id" title="var">A</span> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.character.mxabelem.html#scale_act"><span class="id" title="definition">scale_act</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>. <br/> +<span class="id" title="keyword">Fact</span> <a name="scale_is_action"><span class="id" title="lemma">scale_is_action</span></a> : <a class="idref" href="mathcomp.fingroup.action.html#is_action"><span class="id" title="definition">is_action</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#scale_act"><span class="id" title="definition">scale_act</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_action</span> := <a class="idref" href="mathcomp.fingroup.action.html#Action"><span class="id" title="constructor">Action</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#scale_is_action"><span class="id" title="lemma">scale_is_action</span></a>.<br/> +<span class="id" title="keyword">Fact</span> <a name="scale_is_groupAction"><span class="id" title="lemma">scale_is_groupAction</span></a> : <a class="idref" href="mathcomp.fingroup.action.html#is_groupAction"><span class="id" title="definition">is_groupAction</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#scale_action"><span class="id" title="definition">scale_action</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">scale_groupAction</span> := <a class="idref" href="mathcomp.fingroup.action.html#GroupAction"><span class="id" title="constructor">GroupAction</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#scale_is_groupAction"><span class="id" title="lemma">scale_is_groupAction</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="astab1_scale_act"><span class="id" title="lemma">astab1_scale_act</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxabelem.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.fingroup.action.html#f5d78ca47c9779b162180a14b237bdf4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.action.html#f5d78ca47c9779b162180a14b237bdf4"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.fingroup.action.html#f5d78ca47c9779b162180a14b237bdf4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.action.html#f5d78ca47c9779b162180a14b237bdf4"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#scale_action"><span class="id" title="definition">scale_action</span></a><a class="idref" href="mathcomp.fingroup.action.html#f5d78ca47c9779b162180a14b237bdf4"><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">g</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.ScaleAction"><span class="id" title="section">ScaleAction</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="FinFieldRepr.RowGroup"><span class="id" title="section">RowGroup</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="FinFieldRepr.RowGroup.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">Definition</span> <a name="rowg"><span class="id" title="definition">rowg</span></a> <span class="id" title="var">m</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.character.mxabelem.html#FinFieldRepr.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">set</span></a> <span class="id" title="var">u</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><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="mem_rowg"><span class="id" title="lemma">mem_rowg</span></a> <span class="id" title="var">m</span> <span class="id" title="var">A</span> <span class="id" title="var">v</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.character.mxabelem.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> @<a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="rowg_group_set"><span class="id" title="lemma">rowg_group_set</span></a> <span class="id" title="var">m</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#group_set"><span class="id" title="definition">group_set</span></a> (@<a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rowg_group</span> <span class="id" title="var">m</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> (@<a class="idref" href="mathcomp.character.mxabelem.html#rowg_group_set"><span class="id" title="lemma">rowg_group_set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rowg_stable"><span class="id" title="lemma">rowg_stable</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">acts</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#4fffb19fcc003d579f537986e6d81a64"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#4fffb19fcc003d579f537986e6d81a64"><span class="id" title="notation">Zm</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rowgS"><span class="id" title="lemma">rowgS</span></a> <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.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + <a 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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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="eq_rowg"><span class="id" title="lemma">eq_rowg</span></a> <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.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rowg0"><span class="id" title="lemma">rowg0</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</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#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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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="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">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rowg1"><span class="id" title="lemma">rowg1</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</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.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="trivg_rowg"><span class="id" title="lemma">trivg_rowg</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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="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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">g</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.character.mxabelem.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">Definition</span> <a name="rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) := <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.algebra.matrix.html#31137a9382a4a6a96e5b27ab39a7efe6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#31137a9382a4a6a96e5b27ab39a7efe6"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#31137a9382a4a6a96e5b27ab39a7efe6"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.matrix.html#31137a9382a4a6a96e5b27ab39a7efe6"><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.character.mxabelem.html#L"><span class="id" title="variable">L</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#31137a9382a4a6a96e5b27ab39a7efe6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#enum_val"><span class="id" title="definition">enum_val</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><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="rowgK"><span class="id" title="lemma">rowgK</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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="rowg_mxS"><span class="id" title="lemma">rowg_mxS</span></a> (<span class="id" title="var">L</span> <span class="id" title="var">M</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</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.character.mxabelem.html#FinFieldRepr.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.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">MS</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_rowg_mx"><span class="id" title="lemma">sub_rowg_mx</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="stable_rowg_mxK"><span class="id" title="lemma">stable_rowg_mxK</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">acts</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#4fffb19fcc003d579f537986e6d81a64"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#4fffb19fcc003d579f537986e6d81a64"><span class="id" title="notation">Zm</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rowg_mx1"><span class="id" title="lemma">rowg_mx1</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> 1%<span class="id" title="var">g</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="rowg_mx_eq0"><span class="id" title="lemma">rowg_mx_eq0</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><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.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> 1%<span class="id" title="var">g</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="rowgI"><span class="id" title="lemma">rowgI</span></a> <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.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="card_rowg"><span class="id" title="lemma">card_rowg</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</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.character.mxabelem.html#FinFieldRepr.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#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.character.mxabelem.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="rowgD"><span class="id" title="lemma">rowgD</span></a> <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.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#B"><span class="id" title="variable">B</span></a>)%<span class="id" title="var">g</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cprod_rowg"><span class="id" title="lemma">cprod_rowg</span></a> <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.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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="dprod_rowg"><span class="id" title="lemma">dprod_rowg</span></a> <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.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.character.mxabelem.html#FinFieldRepr.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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> : <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.character.mxabelem.html#FinFieldRepr.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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="bigcprod_rowg"><span class="id" title="lemma">bigcprod_rowg</span></a> <span class="id" title="var">m</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxabelem.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.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.character.mxabelem.html#FinFieldRepr.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.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.character.mxabelem.html#FinFieldRepr.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + (<a class="idref" href="mathcomp.algebra.mxalgebra.html#0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#0fe18f7d3d06ab40e993f8a330b6b36a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.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/> + <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.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">g</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"><-</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="bigdprod_rowg"><span class="id" title="lemma">bigdprod_rowg</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#I"><span class="id" title="variable">I</span></a>) <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.character.mxabelem.html#FinFieldRepr.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.character.mxabelem.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.character.mxabelem.html#FinFieldRepr.RowGroup.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/> + <span class="id" title="keyword">let</span> <span class="id" title="var">S</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#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.character.mxabelem.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <span class="id" title="tactic">in</span> (<a class="idref" href="mathcomp.character.mxabelem.html#S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <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.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">g</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> <a class="idref" href="mathcomp.character.mxabelem.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#8850ee6edf9a388b1213678f3d3ee856"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.RowGroup"><span class="id" title="section">RowGroup</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="FinFieldRepr.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="FinFieldRepr.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="FinFieldRepr.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">Variable</span> (<a name="FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_representation"><span class="id" title="record">mx_representation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="GL_mx_repr"><span class="id" title="lemma">GL_mx_repr</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_repr"><span class="id" title="definition">mx_repr</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.character.mxabelem.html#FinFieldRepr.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.algebra.matrix.html#GLval"><span class="id" title="definition">GLval</span></a>. <br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">GLrepr</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MxRepresentation"><span class="id" title="constructor">MxRepresentation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#GL_mx_repr"><span class="id" title="lemma">GL_mx_repr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="GLmx_faithful"><span class="id" title="lemma">GLmx_faithful</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_faithful"><span class="id" title="definition">mx_faithful</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#GLrepr"><span class="id" title="definition">GLrepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="reprGLm"><span class="id" title="definition">reprGLm</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">{'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">GL_n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">]}</span></a> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#insubd"><span class="id" title="definition">insubd</span></a> (1%<span class="id" title="var">g</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.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">{'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">GL_n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#671572f33ba80408e4afccdda3f8ba22"><span class="id" title="notation">]}</span></a>) (<a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="val_reprGLm"><span class="id" title="lemma">val_reprGLm</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#reprGLm"><span class="id" title="definition">reprGLm</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="comp_reprGLm"><span class="id" title="lemma">comp_reprGLm</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.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#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#GLval"><span class="id" title="definition">GLval</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.character.mxabelem.html#reprGLm"><span class="id" title="definition">reprGLm</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.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</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="reprGLmM"><span class="id" title="lemma">reprGLmM</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#reprGLm"><span class="id" title="definition">reprGLm</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>%<span class="id" title="var">g</span>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">reprGL_morphism</span> := <a class="idref" href="mathcomp.fingroup.morphism.html#Morphism"><span class="id" title="constructor">Morphism</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#reprGLmM"><span class="id" title="lemma">reprGLmM</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ker_reprGLm"><span class="id" title="lemma">ker_reprGLm</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#034cc0eb573e9a86d9574eaed7b27a13"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#034cc0eb573e9a86d9574eaed7b27a13"><span class="id" title="notation">ker</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#reprGLm"><span class="id" title="definition">reprGLm</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.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="astab_rowg_repr"><span class="id" title="lemma">astab_rowg_repr</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><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.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="astabs_rowg_repr"><span class="id" title="lemma">astabs_rowg_repr</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.fingroup.action.html#f49be8276ad4d3d8f37fd1509306940d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.action.html#f49be8276ad4d3d8f37fd1509306940d"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.action.html#f49be8276ad4d3d8f37fd1509306940d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.action.html#f49be8276ad4d3d8f37fd1509306940d"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#f49be8276ad4d3d8f37fd1509306940d"><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.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="acts_rowg"><span class="id" title="lemma">acts_rowg</span></a> (<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="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">acts</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><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.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="astab_setT_repr"><span class="id" title="lemma">astab_setT_repr</span></a> : <a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><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.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mx_repr_action_faithful"><span class="id" title="lemma">mx_repr_action_faithful</span></a> :<br/> + <a class="idref" href="mathcomp.fingroup.action.html#6e1bf5287bfc6397badc2a71c227e8d0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.action.html#6e1bf5287bfc6397badc2a71c227e8d0"><span class="id" title="notation">faithful</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.action.html#6e1bf5287bfc6397badc2a71c227e8d0"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.action.html#6e1bf5287bfc6397badc2a71c227e8d0"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.fingroup.action.html#6e1bf5287bfc6397badc2a71c227e8d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#6e1bf5287bfc6397badc2a71c227e8d0"><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.character.mxrepresentation.html#mx_faithful"><span class="id" title="definition">mx_faithful</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="afix_repr"><span class="id" title="lemma">afix_repr</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.action.html#ff32a55d89a82185d94af5720a5e1f63"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.action.html#ff32a55d89a82185d94af5720a5e1f63"><span class="id" title="notation">Fix_</span></a><a class="idref" href="mathcomp.fingroup.action.html#ff32a55d89a82185d94af5720a5e1f63"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#cb32254489dc9475a201aa544c53202f"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#ff32a55d89a82185d94af5720a5e1f63"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.action.html#ff32a55d89a82185d94af5720a5e1f63"><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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="gacent_repr"><span class="id" title="lemma">gacent_repr</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.action.html#e2bbaaa2e35f8e6b75a00840566c57d7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.action.html#e2bbaaa2e35f8e6b75a00840566c57d7"><span class="id" title="notation">C_</span></a><a class="idref" href="mathcomp.fingroup.action.html#e2bbaaa2e35f8e6b75a00840566c57d7"><span class="id" title="notation">(|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#adbb269d391e8e44bd9dc87d0a6b649c"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#adbb269d391e8e44bd9dc87d0a6b649c"><span class="id" title="notation">MR</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.action.html#e2bbaaa2e35f8e6b75a00840566c57d7"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.action.html#e2bbaaa2e35f8e6b75a00840566c57d7"><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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a>).<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#FinFieldRepr"><span class="id" title="section">FinFieldRepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="a544aa09e9904587519fe7450b0b4bf2"><span class="id" title="notation">"</span></a>''Zm'" := (<a class="idref" href="mathcomp.character.mxabelem.html#scale_action"><span class="id" title="definition">scale_action</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span>) (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8) : <span class="id" title="var">action_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="d38c5110221e9b1503e6feac6708bdac"><span class="id" title="notation">"</span></a>''Zm'" := (<a class="idref" href="mathcomp.character.mxabelem.html#scale_groupAction"><span class="id" title="definition">scale_groupAction</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span>) : <span class="id" title="var">groupAction_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MatrixGroups"><span class="id" title="section">MatrixGroups</span></a>.<br/> + +<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">q</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/> +<span class="id" title="keyword">Lemma</span> <a name="exponent_mx_group"><span class="id" title="lemma">exponent_mx_group</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">q</span> :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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.character.mxabelem.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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.character.mxabelem.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">></span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">Z_q</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.character.mxabelem.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.character.mxabelem.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.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.character.mxabelem.html#q"><span class="id" title="variable">q</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rank_mx_group"><span class="id" title="lemma">rank_mx_group</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.solvable.abelian.html#fb1dac9f7a8af37ee65e687129e35f6d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#fb1dac9f7a8af37ee65e687129e35f6d"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#fb1dac9f7a8af37ee65e687129e35f6d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">Z_q</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.character.mxabelem.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.character.mxabelem.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.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.solvable.abelian.html#fb1dac9f7a8af37ee65e687129e35f6d"><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.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mx_group_homocyclic"><span class="id" title="lemma">mx_group_homocyclic</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">q</span> : <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">Z_q</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.character.mxabelem.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.character.mxabelem.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.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelian_type_mx_group"><span class="id" title="lemma">abelian_type_mx_group</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">q</span> :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#q"><span class="id" title="variable">q</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">></span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#9daeb9ead3dc7cfd1f9338b8de9c8c09"><span class="id" title="notation">Z_q</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.character.mxabelem.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.character.mxabelem.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.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.seq.html#nseq"><span class="id" title="definition">nseq</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.character.mxabelem.html#q"><span class="id" title="variable">q</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#MatrixGroups"><span class="id" title="section">MatrixGroups</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">abelem_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">Mg</span>.<br/> +<span class="id" title="keyword">Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">abelem_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="abelem_dim'"><span class="id" title="definition">abelem_dim'</span></a> (<span class="id" title="var">gT</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :=<br/> + <a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><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.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxabelem.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><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.character.mxabelem.html#E"><span class="id" title="variable">E</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/> +<span class="id" title="keyword">Notation</span> <a name="10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">"</span></a>''dim' E" := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#abelem_dim'"><span class="id" title="definition">abelem_dim'</span></a> <span class="id" title="var">E</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">).+1</span></a><br/> + (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 10, <span class="id" title="var">E</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''dim' E") : <span class="id" title="var">abelem_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="5a3768c7decc1cdad7f8f85d8bbc7ecf"><span class="id" title="notation">"</span></a>''rV' ( E )" := <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_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">dim</span></a> <span class="id" title="var">E</span><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">)</span></a><br/> + (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''rV' ( E )") : <span class="id" title="var">abelem_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="3fbf40deaa581c9d807d86896b9ef5db"><span class="id" title="notation">"</span></a>''M' ( E )" := <a class="idref" href="mathcomp.algebra.matrix.html#ff2814b13b0b9cfba84a98df9a2ac866"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#ff2814b13b0b9cfba84a98df9a2ac866"><span class="id" title="notation">M_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#ff2814b13b0b9cfba84a98df9a2ac866"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">dim</span></a> <span class="id" title="var">E</span><a class="idref" href="mathcomp.algebra.matrix.html#ff2814b13b0b9cfba84a98df9a2ac866"><span class="id" title="notation">)</span></a><br/> + (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''M' ( E )") : <span class="id" title="var">abelem_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="245d912ce3cbc6afc8122aef62d9e05a"><span class="id" title="notation">"</span></a>''rV[' F ] ( E )" := <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><span class="id" title="var">F</span><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">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">dim</span></a> <span class="id" title="var">E</span><a class="idref" href="mathcomp.algebra.matrix.html#d5eb23b08bc98c3329b2748a3ba944ae"><span class="id" title="notation">)</span></a><br/> + (<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">abelem_scope</span>.<br/> +<span class="id" title="keyword">Notation</span> <a name="4136d7028561f80beb0eed307518d630"><span class="id" title="notation">"</span></a>''M[' F ] ( E )" := <a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">M</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">[</span></a><span class="id" title="var">F</span><a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#10eeb0fe9cff9db4dbde47daeced6c8d"><span class="id" title="notation">dim</span></a> <span class="id" title="var">E</span><a class="idref" href="mathcomp.algebra.matrix.html#b2c854dd216676a38305228b400aa08a"><span class="id" title="notation">)</span></a><br/> + (<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">abelem_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="AbelemRepr"><span class="id" title="section">AbelemRepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="AbelemRepr.FpMatrix"><span class="id" title="section">FpMatrix</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="AbelemRepr.FpMatrix.p"><span class="id" title="variable">p</span></a> <a name="AbelemRepr.FpMatrix.m"><span class="id" title="variable">m</span></a> <a name="AbelemRepr.FpMatrix.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="mx_Fp_abelem"><span class="id" title="lemma">mx_Fp_abelem</span></a> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.FpMatrix.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.character.mxabelem.html#AbelemRepr.FpMatrix.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#bcb4124a3d9b102768b81d5d3006e029"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#bcb4124a3d9b102768b81d5d3006e029"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Mmn"><span class="id" title="abbreviation">Mmn</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mx_Fp_stable"><span class="id" title="lemma">mx_Fp_stable</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Mmn"><span class="id" title="abbreviation">Mmn</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">acts</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">on</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#a544aa09e9904587519fe7450b0b4bf2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxabelem.html#a544aa09e9904587519fe7450b0b4bf2"><span class="id" title="notation">Zm</span></a><a class="idref" href="mathcomp.fingroup.action.html#4fabb88b896fd67dca370ff89a430b72"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.FpMatrix"><span class="id" title="section">FpMatrix</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="AbelemRepr.FpRow"><span class="id" title="section">FpRow</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="AbelemRepr.FpRow.p"><span class="id" title="variable">p</span></a> <a name="AbelemRepr.FpRow.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="rowg_mxK"><span class="id" title="lemma">rowg_mxK</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rowg_mxSK"><span class="id" title="lemma">rowg_mxSK</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">M</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#M"><span class="id" title="variable">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.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxrank_rowg"><span class="id" title="lemma">mxrank_rowg</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.FpRow.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.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#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><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.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.FpRow.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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.FpRow"><span class="id" title="section">FpRow</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="AbelemRepr.p"><span class="id" title="variable">p</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="AbelemRepr.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="AbelemRepr.E"><span class="id" title="variable">E</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Hypotheses</span> (<a name="AbelemRepr.abelE"><span class="id" title="variable">abelE</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#bcb4124a3d9b102768b81d5d3006e029"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#bcb4124a3d9b102768b81d5d3006e029"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a>) (<a name="AbelemRepr.ntE"><span class="id" title="variable">ntE</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#36625695d37b6869c156bfcdf13834f7"><span class="id" title="notation">:!=:</span></a> 1%<span class="id" title="var">g</span>).<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="AbelemRepr.pE"><span class="id" title="variable">pE</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> := <a class="idref" href="mathcomp.solvable.abelian.html#abelem_pgroup"><span class="id" title="lemma">abelem_pgroup</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.abelE"><span class="id" title="variable">abelE</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="AbelemRepr.p_pr"><span class="id" title="variable">p_pr</span></a> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.p"><span class="id" title="variable">p</span></a>. <br/> + +<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dim_abelemE"><span class="id" title="lemma">dim_abelemE</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="abbreviation">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.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="card_abelem_rV"><span class="id" title="lemma">card_abelem_rV</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</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.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isog_abelem_rV"><span class="id" title="lemma">isog_abelem_rV</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="abelem_rV"><span class="id" title="definition">abelem_rV</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</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.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#xchoose"><span class="id" title="definition">xchoose</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ab_rV_P"><span class="id" title="abbreviation">ab_rV_P</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_M"><span class="id" title="lemma">abelem_rV_M</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#y"><span class="id" title="variable">y</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">abelem_rV_morphism</span> := <a class="idref" href="mathcomp.fingroup.morphism.html#Morphism"><span class="id" title="constructor">Morphism</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#abelem_rV_M"><span class="id" title="lemma">abelem_rV_M</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_isom"><span class="id" title="lemma">abelem_rV_isom</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#isom"><span class="id" title="definition">isom</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_injm"><span class="id" title="lemma">abelem_rV_injm</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_inj"><span class="id" title="lemma">abelem_rV_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><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.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="im_abelem_rV"><span class="id" title="lemma">im_abelem_rV</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mem_im_abelem_rV"><span class="id" title="lemma">mem_im_abelem_rV</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_im_abelem_rV"><span class="id" title="lemma">sub_im_abelem_rV</span></a> <span class="id" title="var">mA</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#SubsetDef.subset"><span class="id" title="axiom">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#mA"><span class="id" title="variable">mA</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#mem"><span class="id" title="definition">mem</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a>)).<br/> + <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">mem_im_abelem_rV</span> <span class="id" title="var">sub_im_abelem_rV</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_1"><span class="id" title="lemma">abelem_rV_1</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0%<span class="id" title="var">R</span>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_X"><span class="id" title="lemma">abelem_rV_X</span></a> <span class="id" title="var">x</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#86a04fb564fb97d388cad84a3a204260"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">R</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_V"><span class="id" title="lemma">abelem_rV_V</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#a605acbeae7597f74f5a9b816ed8a717"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="rVabelem"><span class="id" title="definition">rVabelem</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#rVn"><span class="id" title="abbreviation">rVn</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.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a> := <a class="idref" href="mathcomp.fingroup.morphism.html#invm"><span class="id" title="definition">invm</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#abelem_rV_injm"><span class="id" title="lemma">abelem_rV_injm</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rVabelem_morphism</span> := <a class="idref" href="mathcomp.fingroup.morphism.html#4638420a8c497f6fdfbc01376756a30a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#4638420a8c497f6fdfbc01376756a30a"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#4638420a8c497f6fdfbc01376756a30a"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rVabelem"><span class="id" title="definition">rVabelem</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#4638420a8c497f6fdfbc01376756a30a"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelem0"><span class="id" title="lemma">rVabelem0</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">g</span>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelemD"><span class="id" title="lemma">rVabelemD</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">:</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">>-></span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#v"><span class="id" title="variable">v</span></a>)%<span class="id" title="var">g</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelemN"><span class="id" title="lemma">rVabelemN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><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.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><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.character.mxabelem.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#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">>-></span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#a605acbeae7597f74f5a9b816ed8a717"><span class="id" title="notation">^-1</span></a>)%<span class="id" title="var">g</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelemZ"><span class="id" title="lemma">rVabelemZ</span></a> (<span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">F_p</span></a>) : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><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.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">>-></span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#86a04fb564fb97d388cad84a3a204260"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a>)%<span class="id" title="var">g</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_K"><span class="id" title="lemma">abelem_rV_K</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</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="rVabelemK"><span class="id" title="lemma">rVabelemK</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#cancel"><span class="id" title="definition">cancel</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelem_inj"><span class="id" title="lemma">rVabelem_inj</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelem_injm"><span class="id" title="lemma">rVabelem_injm</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="im_rVabelem"><span class="id" title="lemma">im_rVabelem</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#setT"><span class="id" title="abbreviation">setT</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.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mem_rVabelem"><span class="id" title="lemma">mem_rVabelem</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sub_rVabelem"><span class="id" title="lemma">sub_rVabelem</span></a> <span class="id" title="var">L</span> : <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a>.<br/> + <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">mem_rVabelem</span> <span class="id" title="var">sub_rVabelem</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="card_rVabelem"><span class="id" title="lemma">card_rVabelem</span></a> <span class="id" title="var">L</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_mK"><span class="id" title="lemma">abelem_rV_mK</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><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.character.mxabelem.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelem_mK"><span class="id" title="lemma">rVabelem_mK</span></a> <span class="id" title="var">L</span> : <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelem_minj"><span class="id" title="lemma">rVabelem_minj</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.fingroup.morphism.html#morphim"><span class="id" title="definition">morphim</span></a> (<a class="idref" href="mathcomp.fingroup.morphism.html#MorPhantom"><span class="id" title="definition">MorPhantom</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelemS"><span class="id" title="lemma">rVabelemS</span></a> <span class="id" title="var">L</span> <span class="id" title="var">M</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.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_S"><span class="id" title="lemma">abelem_rV_S</span></a> (<span class="id" title="var">H</span> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#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.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#K"><span class="id" title="variable">K</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.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#K"><span class="id" title="variable">K</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="sub_rVabelem_im"><span class="id" title="lemma">sub_rVabelem_im</span></a> <span class="id" title="var">L</span> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a 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.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</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.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</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="sub_abelem_rV_im"><span class="id" title="lemma">sub_abelem_rV_im</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</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.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">F_p</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.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#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.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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="AbelemRepr.OneGroup"><span class="id" title="section">OneGroup</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Definition</span> <a name="abelem_mx_fun"><span class="id" title="definition">abelem_mx_fun</span></a> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#subg_of"><span class="id" title="inductive">subg_of</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a>) <span class="id" title="var">v</span> := <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Definition</span> <a name="abelem_mx"><span class="id" title="definition">abelem_mx</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a> :=<br/> + <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.algebra.matrix.html#lin1_mx"><span class="id" title="definition">lin1_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#abelem_mx_fun"><span class="id" title="definition">abelem_mx_fun</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#subg"><span class="id" title="definition">subg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>)).<br/> + +<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="AbelemRepr.OneGroup.nEG"><span class="id" title="variable">nEG</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="abelem_mx_linear_proof"><span class="id" title="lemma">abelem_mx_linear_proof</span></a> <span class="id" title="var">g</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.character.mxabelem.html#abelem_mx_fun"><span class="id" title="definition">abelem_mx_fun</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#g"><span class="id" title="variable">g</span></a>).<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">abelem_mx_linear</span> <span class="id" title="var">g</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.character.mxabelem.html#abelem_mx_linear_proof"><span class="id" title="lemma">abelem_mx_linear_proof</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#g"><span class="id" title="variable">g</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="AbelemRepr.OneGroup.rVabelemJmx"><span class="id" title="variable">rVabelemJmx</span></a> <span class="id" title="var">v</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#r"><span class="id" title="abbreviation">r</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Fact</span> <a name="abelem_mx_repr"><span class="id" title="lemma">abelem_mx_repr</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_repr"><span class="id" title="definition">mx_repr</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#r"><span class="id" title="abbreviation">r</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">abelem_repr</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MxRepresentation"><span class="id" title="constructor">MxRepresentation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#abelem_mx_repr"><span class="id" title="lemma">abelem_mx_repr</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> := <a class="idref" href="mathcomp.character.mxabelem.html#abelem_repr"><span class="id" title="definition">abelem_repr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rVabelemJ"><span class="id" title="lemma">rVabelemJ</span></a> <span class="id" title="var">v</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#v"><span class="id" title="variable">v</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rV_J"><span class="id" title="lemma">abelem_rV_J</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.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#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span> <span class="id" title="var">y</span>, <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#808c6b8e35e792f23899f360a21e4638"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#y"><span class="id" title="variable">y</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.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</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.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#y"><span class="id" title="variable">y</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#208bc995000a6307bdbc043c43919d97"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_rowgJ"><span class="id" title="lemma">abelem_rowgJ</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.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.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1deb3845cf16de446ae6619879e9d6db"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1deb3845cf16de446ae6619879e9d6db"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1deb3845cf16de446ae6619879e9d6db"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rV_abelem_sJ"><span class="id" title="lemma">rV_abelem_sJ</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) <span class="id" title="var">x</span> :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1deb3845cf16de446ae6619879e9d6db"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><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.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#x"><span class="id" title="variable">x</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rstab_abelem"><span class="id" title="lemma">rstab_abelem</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">C_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rstabs_abelem"><span class="id" title="lemma">rstabs_abelem</span></a> <span class="id" title="var">m</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rstabs_abelemG"><span class="id" title="lemma">rstabs_abelemG</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxmodule_abelem"><span class="id" title="lemma">mxmodule_abelem</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">U</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.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">F_p</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.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="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.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><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>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxmodule_abelemG"><span class="id" title="lemma">mxmodule_abelemG</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</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.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><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>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxsimple_abelemP"><span class="id" title="lemma">mxsimple_abelemP</span></a> (<span class="id" title="var">U</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.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#ac70144de8117a1d767eef28420399d1"><span class="id" title="notation">F_p</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/> + <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.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="mathcomp.solvable.gseries.html#minnormal"><span class="id" title="definition">minnormal</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rV_E"><span class="id" title="abbreviation">rV_E</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg"><span class="id" title="definition">rowg</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxsimple_abelemGP"><span class="id" title="lemma">mxsimple_abelemGP</span></a> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.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#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#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a>))) (<a class="idref" href="mathcomp.solvable.gseries.html#minnormal"><span class="id" title="definition">minnormal</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_mx_irrP"><span class="id" title="lemma">abelem_mx_irrP</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.character.mxrepresentation.html#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a>) (<a class="idref" href="mathcomp.solvable.gseries.html#minnormal"><span class="id" title="definition">minnormal</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rfix_abelem"><span class="id" title="lemma">rfix_abelem</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rowg_mx"><span class="id" title="definition">rowg_mx</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#ErV"><span class="id" title="abbreviation">ErV</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">C_E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">)</span></a>%<span class="id" title="var">g</span>))%<span class="id" title="var">MS</span>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="rker_abelem"><span class="id" title="lemma">rker_abelem</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</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.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">C_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelem_mx_faithful"><span class="id" title="lemma">abelem_mx_faithful</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">C_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#507fd39a15bb9cb7e52e1aaa9e2285b5"><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">g</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.character.mxrepresentation.html#mx_faithful"><span class="id" title="definition">mx_faithful</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup.rG"><span class="id" title="variable">rG</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.OneGroup"><span class="id" title="section">OneGroup</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="AbelemRepr.SubGroup"><span class="id" title="section">SubGroup</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="AbelemRepr.SubGroup.G"><span class="id" title="variable">G</span></a> <a name="AbelemRepr.SubGroup.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> +<span class="id" title="keyword">Hypotheses</span> (<a name="AbelemRepr.SubGroup.nEG"><span class="id" title="variable">nEG</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>) (<a name="AbelemRepr.SubGroup.sHG"><span class="id" title="variable">sHG</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup.G"><span class="id" title="variable">G</span></a>).<br/> +<span class="id" title="keyword">Let</span> <a name="AbelemRepr.SubGroup.nEH"><span class="id" title="variable">nEH</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#subset_trans"><span class="id" title="lemma">subset_trans</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup.sHG"><span class="id" title="variable">sHG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup.nEG"><span class="id" title="variable">nEG</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="eq_abelem_subg_repr"><span class="id" title="lemma">eq_abelem_subg_repr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup.H"><span class="id" title="variable">H</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.character.mxabelem.html#rHG"><span class="id" title="abbreviation">rHG</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.character.mxabelem.html#rH"><span class="id" title="abbreviation">rH</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="rsim_abelem_subg"><span class="id" title="lemma">rsim_abelem_subg</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rHG"><span class="id" title="abbreviation">rHG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rH"><span class="id" title="abbreviation">rH</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxmodule_abelem_subg"><span class="id" title="lemma">mxmodule_abelem_subg</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">U</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.character.mxabelem.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.character.mxabelem.html#n"><span class="id" title="abbreviation">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rHG"><span class="id" title="abbreviation">rHG</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#U"><span class="id" title="variable">U</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mxsimple_abelem_subg"><span class="id" title="lemma">mxsimple_abelem_subg</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rHG"><span class="id" title="abbreviation">rHG</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#U"><span class="id" title="variable">U</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr.SubGroup"><span class="id" title="section">SubGroup</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#AbelemRepr"><span class="id" title="section">AbelemRepr</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="ModularRepresentation"><span class="id" title="section">ModularRepresentation</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="ModularRepresentation.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="ModularRepresentation.p"><span class="id" title="variable">p</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="ModularRepresentation.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="ModularRepresentation.charFp"><span class="id" title="variable">charFp</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.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#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.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + This is Gorenstein, Lemma 2.6.3. +</div> +<div class="code"> +<span class="id" title="keyword">Lemma</span> <a name="rfix_pgroup_char"><span class="id" title="lemma">rfix_pgroup_char</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">n</span> (<span class="id" title="var">rG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_representation"><span class="id" title="record">mx_representation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="variable">n</span></a>) :<br/> + <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><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.character.mxabelem.html#ModularRepresentation.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</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.character.mxabelem.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#H"><span class="id" title="variable">H</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">Variables</span> (<a name="ModularRepresentation.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="ModularRepresentation.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="ModularRepresentation.rG"><span class="id" title="variable">rG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_representation"><span class="id" title="record">mx_representation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#n"><span class="id" title="variable">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="pcore_sub_rstab_mxsimple"><span class="id" title="lemma">pcore_sub_rstab_mxsimple</span></a> <span class="id" title="var">M</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">O_p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#M"><span class="id" title="variable">M</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="pcore_sub_rker_mx_irr"><span class="id" title="lemma">pcore_sub_rker_mx_irr</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.rG"><span class="id" title="variable">rG</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.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">O_p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.rG"><span class="id" title="variable">rG</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + This is Gorenstein, Lemma 3.1.3. +</div> +<div class="code"> +<span class="id" title="keyword">Lemma</span> <a name="pcore_faithful_mx_irr"><span class="id" title="lemma">pcore_faithful_mx_irr</span></a> :<br/> + <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.rG"><span class="id" title="variable">rG</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.character.mxrepresentation.html#mx_faithful"><span class="id" title="definition">mx_faithful</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.rG"><span class="id" title="variable">rG</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.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">O_p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5a60f5e4463d132504644978fbcd8502"><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">g</span>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#ModularRepresentation"><span class="id" title="section">ModularRepresentation</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Extraspecial"><span class="id" title="section">Extraspecial</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Extraspecial.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="Extraspecial.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="Extraspecial.S"><span class="id" title="variable">S</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="Extraspecial.p"><span class="id" title="variable">p</span></a> <a name="Extraspecial.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">Hypotheses</span> (<a name="Extraspecial.pS"><span class="id" title="variable">pS</span></a> : <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a>) (<a name="Extraspecial.esS"><span class="id" title="variable">esS</span></a> : <a class="idref" href="mathcomp.solvable.maximal.html#extraspecial"><span class="id" title="definition">extraspecial</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a>).<br/> +<span class="id" title="keyword">Hypothesis</span> <a name="Extraspecial.oSpn"><span class="id" title="variable">oSpn</span></a> : <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</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.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f460b977ac49dd1a229be682bc38c411"><span class="id" title="notation">.*2</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/> +<span class="id" title="keyword">Hypotheses</span> (<a name="Extraspecial.splitF"><span class="id" title="variable">splitF</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a>) (<a name="Extraspecial.F'S"><span class="id" title="variable">F'S</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#b8d1051ec5bf038cb2a33edc541359f8"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#233366c70a33ee49ba3eedb41626d66a"><span class="id" title="notation">^'</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#5b9c9ef075a2fca9df30ee4ac4a1af18"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.p_pr"><span class="id" title="variable">p_pr</span></a> := <a class="idref" href="mathcomp.solvable.maximal.html#extraspecial_prime"><span class="id" title="lemma">extraspecial_prime</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.pS"><span class="id" title="variable">pS</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.esS"><span class="id" title="variable">esS</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.p_gt0"><span class="id" title="variable">p_gt0</span></a> := <a class="idref" href="mathcomp.ssreflect.prime.html#prime_gt0"><span class="id" title="lemma">prime_gt0</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.p_pr"><span class="id" title="variable">p_pr</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.p_gt1"><span class="id" title="variable">p_gt1</span></a> := <a class="idref" href="mathcomp.ssreflect.prime.html#prime_gt1"><span class="id" title="lemma">prime_gt1</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.p_pr"><span class="id" title="variable">p_pr</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.oZp"><span class="id" title="variable">oZp</span></a> := <a class="idref" href="mathcomp.solvable.maximal.html#card_center_extraspecial"><span class="id" title="lemma">card_center_extraspecial</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.pS"><span class="id" title="variable">pS</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.esS"><span class="id" title="variable">esS</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.modIp'"><span class="id" title="variable">modIp'</span></a> (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">I_p</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a>) : (<a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</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.div.html#2179ac53e82aa7c0b2f2f5a16b5510ea"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.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.character.mxabelem.html#i"><span class="id" title="variable">i</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/> +</div> + +<div class="doc"> + This is Aschbacher (34.9), parts (1)-(4). +</div> +<div class="code"> +<span class="id" title="keyword">Theorem</span> <a name="extraspecial_repr_structure"><span class="id" title="lemma">extraspecial_repr_structure</span></a> (<span class="id" title="var">sS</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#irrType"><span class="id" title="definition">irrType</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a>) :<br/> + <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.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#linear_irr"><span class="id" title="definition">linear_irr</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#sS"><span class="id" title="variable">sS</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.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f460b977ac49dd1a229be682bc38c411"><span class="id" title="notation">.*2</span></a>)%<span class="id" title="var">N</span><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/> + <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">iphi</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">I_p</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#sS"><span class="id" title="variable">sS</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="keyword">let</span> <span class="id" title="var">phi</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_repr"><span class="id" title="definition">irr_repr</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#iphi"><span class="id" title="variable">iphi</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a>) <span class="id" title="tactic">in</span><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c7fe7fb0f694e91a7e258ff78a0390ef"><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.character.mxabelem.html#iphi"><span class="id" title="variable">iphi</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c7fe7fb0f694e91a7e258ff78a0390ef"><span class="id" title="notation">,</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.fintype.html#codom"><span class="id" title="definition">codom</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#iphi"><span class="id" title="variable">iphi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">=</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#20bf07099d6d8cf369383b22fd37862e"><span class="id" title="notation">i</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#08cc1b0d2ac8db12b5c416dfc52232cc"><span class="id" title="notation">~:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#linear_irr"><span class="id" title="definition">linear_irr</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#sS"><span class="id" title="variable">sS</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c7fe7fb0f694e91a7e258ff78a0390ef"><span class="id" title="notation">,</span></a><br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_faithful"><span class="id" title="definition">mx_faithful</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.ssrbool.html#c7fe7fb0f694e91a7e258ff78a0390ef"><span class="id" title="notation">,</span></a><br/> + <span class="id" title="keyword">∀</span> <span class="id" title="var">z</span>, <a class="idref" href="mathcomp.character.mxabelem.html#z"><span class="id" title="variable">z</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.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#adb8044960c962a921cca1bd48aae97d"><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/> + <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">w</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.poly.html#primitive_root_of_unity"><span class="id" title="definition">primitive_root_of_unity</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#w"><span class="id" title="variable">w</span></a><br/> + <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.character.mxabelem.html#phi"><span class="id" title="variable">phi</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#z"><span class="id" title="variable">z</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#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxabelem.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</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/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c7fe7fb0f694e91a7e258ff78a0390ef"><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.character.mxrepresentation.html#irr_degree"><span class="id" title="definition">irr_degree</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#iphi"><span class="id" title="variable">iphi</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#c7fe7fb0f694e91a7e258ff78a0390ef"><span class="id" title="notation">]</span></a><br/> + <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.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxabelem.html#sS"><span class="id" title="variable">sS</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.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f460b977ac49dd1a229be682bc38c411"><span class="id" title="notation">.*2</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a>)%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + This is the corolloray of the above that is actually used in the proof of + B & G, Theorem 2.5. It encapsulates the dependency on a socle of the + regular representation. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="Extraspecial.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#nat"><span class="id" title="inductive">nat</span></a>) (<a name="Extraspecial.rS"><span class="id" title="variable">rS</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_representation"><span class="id" title="record">mx_representation</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#m"><span class="id" title="variable">m</span></a>) (<a name="Extraspecial.U"><span class="id" title="variable">U</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.character.mxabelem.html#Extraspecial.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">_m</span></a>).<br/> +<span class="id" title="keyword">Hypotheses</span> (<a name="Extraspecial.simU"><span class="id" title="variable">simU</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.rS"><span class="id" title="variable">rS</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.U"><span class="id" title="variable">U</span></a>) (<a name="Extraspecial.ffulU"><span class="id" title="variable">ffulU</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.rS"><span class="id" title="variable">rS</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">g</span>).<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.sZS"><span class="id" title="variable">sZS</span></a> := <a class="idref" href="mathcomp.solvable.center.html#center_sub"><span class="id" title="lemma">center_sub</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.S"><span class="id" title="variable">S</span></a>.<br/> +<span class="id" title="keyword">Let</span> <a name="Extraspecial.rZ"><span class="id" title="variable">rZ</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#subg_repr"><span class="id" title="definition">subg_repr</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.rS"><span class="id" title="variable">rS</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.sZS"><span class="id" title="variable">sZS</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="faithful_repr_extraspecial"><span class="id" title="lemma">faithful_repr_extraspecial</span></a> :<br/> + <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.character.mxabelem.html#Extraspecial.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.character.mxabelem.html#Extraspecial.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.n"><span class="id" title="variable">n</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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a><br/> + <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">V</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.rS"><span class="id" title="variable">rS</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.rZ"><span class="id" title="variable">rZ</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxabelem.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.character.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.rS"><span class="id" title="variable">rS</span></a> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxabelem.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxabelem.html#Extraspecial"><span class="id" title="section">Extraspecial</span></a>.<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 |
