aboutsummaryrefslogtreecommitdiff
path: root/docs/htmldoc/mathcomp.character.mxrepresentation.html
diff options
context:
space:
mode:
authorEnrico Tassi2018-04-20 10:54:22 +0200
committerEnrico Tassi2018-04-20 10:54:22 +0200
commited05182cece6bb3706e09b2ce14af4a41a2e8141 (patch)
treee850d7314b6372d0476cf2ffaf7d3830721db7b1 /docs/htmldoc/mathcomp.character.mxrepresentation.html
parent3d196f44681fb3b23ff8a79fbd44e12308680531 (diff)
generate the documentation for 1.7
Diffstat (limited to 'docs/htmldoc/mathcomp.character.mxrepresentation.html')
-rw-r--r--docs/htmldoc/mathcomp.character.mxrepresentation.html3749
1 files changed, 3749 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.character.mxrepresentation.html b/docs/htmldoc/mathcomp.character.mxrepresentation.html
new file mode 100644
index 0000000..3105471
--- /dev/null
+++ b/docs/htmldoc/mathcomp.character.mxrepresentation.html
@@ -0,0 +1,3749 @@
+<!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.mxrepresentation</title>
+</head>
+
+<body>
+
+<div id="page">
+
+<div id="header">
+</div>
+
+<div id="main">
+
+<h1 class="libtitle">Library mathcomp.character.mxrepresentation</h1>
+
+<div class="code">
+<span class="comment">(*&nbsp;(c)&nbsp;Copyright&nbsp;2006-2016&nbsp;Microsoft&nbsp;Corporation&nbsp;and&nbsp;Inria.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>
+&nbsp;Distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;CeCILL-B.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)</span><br/>
+<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This file provides linkage between classic Group Theory and commutative
+ algebra -- representation theory. Since general abstract linear algebra is
+ still being sorted out, we develop the required theory here on the
+ assumption that all vector spaces are matrix spaces, indeed that most are
+ row matrix spaces; our representation theory is specialized to the latter
+ case. We provide many definitions and results of representation theory:
+ enveloping algebras, reducible, irreducible and absolutely irreducible
+ representations, representation centralisers, submodules and kernels,
+ simple and semisimple modules, the Schur lemmas, Maschke's theorem,
+ components, socles, homomorphisms and isomorphisms, the Jacobson density
+ theorem, similar representations, the Jordan-Holder theorem, Clifford's
+ theorem and Wedderburn components, regular representations and the
+ Wedderburn structure theorem for semisimple group rings, and the
+ construction of a splitting field of an irreducible representation, and of
+ reduced, tensored, and factored representations.
+ mx_representation F G n == the Structure type for representations of G
+ with n x n matrices with coefficients in F. Note that
+ rG : mx_representation F G n coerces to a function from
+ the element type of G to 'M_n, and conversely all such
+ functions have a Canonical mx_representation.
+ mx_repr G r &lt;-&gt; r : gT -&gt; 'M_n defines a (matrix) group representation
+ on G : {set gT} (Prop predicate).
+ enveloping_algebra_mx rG == a #|G| x (n ^ 2) matrix whose rows are the
+ mxvec encodings of the image of G under rG, and whose
+ row space therefore encodes the enveloping algebra of
+ the representation of G.
+ rker rG == the kernel of the representation of r on G, i.e., the
+ subgroup of elements of G mapped to the identity by rG.
+ mx_faithful rG == the representation rG of G is faithful (its kernel is
+ trivial).
+ rfix_mx rG H == an n x n matrix whose row space is the set of vectors
+ fixed (centralised) by the representation of H by rG.
+ rcent rG A == the subgroup of G whose representation via rG commutes
+ with the square matrix A.
+ rcenter rG == the subgroup of G whose representation via rG consists of
+ scalar matrices.
+ centgmx rG f &lt;=&gt; f commutes with every matrix in the representation of G
+ (i.e., f is a total rG-homomorphism).
+ rstab rG U == the subgroup of G whose representation via r fixes all
+ vectors in U, pointwise.
+ rstabs rG U == the subgroup of G whose representation via r fixes the row
+ space of U globally.
+ mxmodule rG U &lt;=&gt; the row-space of the matrix U is a module (globally
+ invariant) under the representation rG of G.
+ max_submod rG U V &lt;-&gt; U &lt; V is not a proper is a proper subset of any
+ proper rG-submodule of V (if both U and V are modules,
+ then U is a maximal proper submodule of V).
+ mx_subseries rG Us &lt;=&gt; Us : seq 'M_n is a list of rG-modules
+ mx_composition_series rG Us &lt;-&gt; Us is an increasing composition series
+ for an rG-module (namely, last 0 Us).
+ mxsimple rG M &lt;-&gt; M is a simple rG-module (i.e., minimal and nontrivial)
+ This is a Prop predicate on square matrices.
+ mxnonsimple rG U &lt;-&gt; U is constructively not a submodule, that is, U
+ contains a proper nontrivial submodule.
+ mxnonsimple_sat rG U == U is not a simple as an rG-module.
+ This is a bool predicate, which requires a decField
+ structure on the scalar field.
+ mxsemisimple rG W &lt;-&gt; W is constructively a direct sum of simple modules.
+ mxsplits rG V U &lt;-&gt; V splits over U in rG, i.e., U has an rG-invariant
+ complement in V.
+ mx_completely_reducible rG V &lt;-&gt; V splits over all its submodules; note
+ that this is only classically equivalent to stating that
+ V is semisimple.
+ mx_irreducible rG &lt;-&gt; the representation rG is irreducible, i.e., the full
+ module 1%:M of rG is simple.
+ mx_absolutely_irreducible rG == the representation rG of G is absolutely
+ irreducible: its enveloping algebra is the full matrix
+ ring. This is only classically equivalent to the more
+ standard ``rG does not reduce in any field extension''.
+ group_splitting_field F G &lt;-&gt; F is a splitting field for the group G:
+ every irreducible representation of G is absolutely
+ irreducible. Any field can be embedded classically into a
+ splitting field.
+ group_closure_field F gT &lt;-&gt; F is a splitting field for every group
+ G : {group gT}, and indeed for any section of such a
+ group. This is a convenient constructive substitute for
+ algebraic closures, that can be constructed classically.
+ dom_hom_mx rG f == a square matrix encoding the set of vectors for which
+ multiplication by the n x n matrix f commutes with the
+ representation of G, i.e., the largest domain on which
+ f is an rG homomorphism.
+ mx_iso rG U V &lt;-&gt; U and V are (constructively) rG-isomorphic; this is
+ a Prop predicate.
+ mx_simple_iso rG U V == U and V are rG-isomorphic if one of them is
+ simple; this is a bool predicate.
+ cyclic_mx rG u == the cyclic rG-module generated by the row vector u
+ annihilator_mx rG u == the annihilator of the row vector u in the
+ enveloping algebra the representation rG.
+ row_hom_mx rG u == the image of u by the set of all rG-homomorphisms on
+ its cyclic module, or, equivalently, the null-space of the
+ annihilator of u.
+ component_mx rG M == when M is a simple rG-module, the component of M in
+ the representation rG, i.e. the module generated by all
+ the (simple) modules rG-isomorphic to M.
+ socleType rG == a Structure that represents the type of all components
+ of rG (more precisely, it coerces to such a type via
+ socle_sort). For sG : socleType, values of type sG (to be
+ exact, socle_sort sG) coerce to square matrices. For any
+ representation rG we can construct sG : socleType rG
+ classically; the socleType structure encapsulates this
+ use of classical logic.
+ DecSocleType rG == a socleType rG structure, for a representation over a
+ decidable field type.
+ socle_base W == for W : (sG : socleType), a simple module whose
+ component is W; socle_simple W and socle_module W are
+ proofs that socle_base W is a simple module.
+ socle_mult W == the multiplicity of socle_base W in W : sG.
+ := \rank W %/ \rank (socle_base W)
+ Socle sG == the Socle of rG, given sG : socleType rG, i.e., the
+ (direct) sum of all the components of rG.
+ mx_rsim rG rG' &lt;-&gt; rG and rG' are similar representations of the same
+ group G. Note that rG and rG' must then have equal, but
+ not necessarily convertible, degree.
+ submod_repr modU == a representation of G on 'rV(\rank U) equivalent to
+ the restriction of rG to U (here modU : mxmodule rG U).
+ socle_repr W := submod_repr (socle_module W)
+ val/in_submod rG U == the projections resp. from/onto 'rV(\rank U),
+ that correspond to submod_repr r G U (these work both on
+ vectors and row spaces).
+ factmod_repr modV == a representation of G on 'rV(\rank (cokermx V)) that
+ is equivalent to the factor module 'rV_n / V induced by V
+ and rG (here modV : mxmodule rG V).
+ val/in_factmod rG U == the projections for factmod_repr r G U.
+ section_repr modU modV == the restriction to in_factmod V U of the factor
+ representation factmod_repr modV (for modU : mxmodule rG U
+ and modV : mxmodule rG V); section_repr modU modV is
+ irreducible iff max_submod rG U V.
+ subseries_repr modUs i == the representation for the section module
+ in_factmod (0 :: Us)`<i>i Us`<i>i, where
+ modUs : mx_subseries rG Us.
+ series_repr compUs i == the representation for the section module
+ in_factmod (0 :: Us)`<i>i Us`<i>i, where
+ compUs : mx_composition_series rG Us. The Jordan-Holder
+ theorem asserts the uniqueness of the set of such
+ representations, up to similarity and permutation.
+ regular_repr F G == the regular F-representation of the group G.
+ group_ring F G == a #|G| x #|G|^2 matrix that encodes the free group
+ ring of G -- that is, the enveloping algebra of the
+ regular F-representation of G.
+ gring_index x == the index corresponding to x \in G in the matrix
+ encoding of regular_repr and group_ring.
+ gring_row A == the row vector corresponding to A \in group_ring F G in
+ the regular FG-module.
+ gring_proj x A == the 1 x 1 matrix holding the coefficient of x \in G in
+ (A \in group_ring F G)%MS.
+ gring_mx rG u == the image of a row vector u of the regular FG-module,
+ in the enveloping algebra of another representation rG.
+ gring_op rG A == the image of a matrix of the free group ring of G,
+ in the enveloping algebra of rG.
+ gset_mx F G C == the group sum of C in the free group ring of G -- the
+ sum of the images of all the x \in C in group_ring F G.
+ classg_base F G == a #|classes G| x #|G|^2 matrix whose rows encode the
+ group sums of the conjugacy classes of G -- this is a
+ basis of 'Z(group_ring F G)%MS.
+ irrType F G == a type indexing irreducible representations of G over a
+ field F, provided its characteristic does not divide the
+ order of G; it also indexes Wedderburn subrings.
+ := socleType (regular_repr F G)
+ irr_repr i == the irreducible representation corresponding to the
+ index i : irrType sG
+ := socle_repr i as i coerces to a component matrix.
+ 'n_i, irr_degree i == the degree of irr_repr i; the notation is only
+ active after Open Scope group_ring_scope.
+ linear_irr sG == the set of sG-indices of linear irreducible
+ representations of G.
+ irr_comp sG rG == the sG-index of the unique irreducible representation
+ similar to rG, at least when rG is irreducible and the
+ characteristic is coprime.
+ irr_mode i z == the unique eigenvalue of irr_repr i z, at least when
+ irr_repr i z is scalar (e.g., when z \in 'Z(G)).
+ [1 sG]%irr == the index of the principal representation of G, in
+ sG : irrType F G. The i argument of irr_repr, irr_degree
+ and irr_mode is in the %irr scope. This notation may be
+ replaced locally by an interpretation of 1%irr as [1 sG]
+ for some specific irrType sG.
+ 'R_i, Wedderburn_subring i == the subring (indeed, the component) of the
+ free group ring of G corresponding to the component i : sG
+ of the regular FG-module, where sG : irrType F g. In
+ coprime characteristic the Wedderburn structure theorem
+ asserts that the free group ring is the direct sum of
+ these subrings; as with 'n_i above, the notation is only
+ active in group_ring_scope.
+ 'e_i, Wedderburn_id i == the projection of the identity matrix 1%:M on the
+ Wedderburn subring of i : sG (with sG a socleType). In
+ coprime characteristic this is the identity element of
+ the subring, and the basis of its center if the field F is
+ a splitting field. As 'R_i, 'e_i is in group_ring_scope.
+ subg_repr rG sHG == the restriction to H of the representation rG of G;
+ here sHG : H \subset G.
+ eqg_repr rG eqHG == the representation rG of G viewed a a representation
+ of H; here eqHG : G == H.
+ morphpre_repr f rG == the representation of f @*^-1 G obtained by
+ composing the group morphism f with rG.
+ morphim_repr rGf sGD == the representation of G induced by a
+ representation rGf of f @* G; here sGD : G \subset D where
+ D is the domain of the group morphism f.
+ rconj_repr rG uB == the conjugate representation x |-&gt; B * rG x * B^-1;
+ here uB : B \in unitmx.
+ quo_repr sHK nHG == the representation of G / H induced by rG, given
+ sHK : H \subset rker rG, and nHG : G \subset 'N(H).
+ kquo_repr rG == the representation induced on G / rker rG by rG.
+ map_repr f rG == the representation f \o rG, whose module is the tensor
+ product of the module of rG with the extension field into
+ which f : {rmorphism F -&gt; Fstar} embeds F.
+ 'Cl%act == the transitive action of G on the Wedderburn components of
+ H, with nsGH : H &lt;| G, given by Clifford's theorem. More
+ precisely this is a total action of G on socle_sort sH,
+ where sH : socleType (subg_repr rG (normal_sub sGH)).
+ More involved constructions are encapsulated in two Coq submodules:
+ MatrixGenField == a module that encapsulates the lengthy details of the
+ construction of appropriate extension fields. We assume we
+ have an irreducible representation r of a group G, and a
+ non-scalar matrix A that centralises an r(G), as this data
+ is readily extracted from the Jacobson density theorem. It
+ then follows from Schur's lemma that the ring generated by
+ A is a field on which the extension of the representation
+ r of G is reducible. Note that this is equivalent to the
+ more traditional quotient of the polynomial ring by an
+ irreducible polynomial (the minimal polynomial of A), but
+ much better suited to our needs.
+ Here are the main definitions of MatrixGenField; they all have three
+ proofs as arguments: rG : mx_repr r G, irrG : mx_irreducible rG, and
+ cGA : centgmx rG A, which ensure the validity of the construction and
+ allow us to define Canonical instances (the ~~ is_scalar_mx A assumption
+ is only needed to prove reducibility).
+ + gen_of irrG cGA == the carrier type of the field generated by A. It is
+ at least equipped with a fieldType structure; we also
+ propagate any decFieldType/finFieldType structures on the
+ original field.
+ + gen irrG cGA == the morphism injecting into gen_of rG irrG cGA.
+ + groot irrG cGA == the root of mxminpoly A in the gen_of field.
+ + gen_repr irrG cGA == an alternative to the field extension
+ representation, which consists in reconsidering the
+ original module as a module over the new gen_of field,
+ thereby DIVIDING the original dimension n by the degree of
+ the minimal polynomial of A. This can be simpler than the
+ extension method, and is actually required by the proof
+ that odd groups are p-stable (B &amp; G 6.1-2, and Appendix A)
+ but is only applicable if G is the LARGEST group
+ represented by rG (e.g., NOT for B &amp; G 2.6).
+ + val_gen/in_gen rG irrG cGA : the bijections from/to the module
+ corresponding to gen_repr.
+ + rowval_gen rG irrG cGA : the projection of row spaces in the module
+ corresponding to gen_repr to row spaces in 'rV_n.
+ We build on the MatrixFormula toolkit to define decision procedures for
+ the reducibility property:
+ + mxmodule_form rG U == a formula asserting that the interpretation of U
+ is a module of the representation rG of G via r.
+ + mxnonsimple_form rG U == a formula asserting that the interpretation
+ of U contains a proper nontrivial rG-module.
+</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>.<br/>
+<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;''n_' i" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''n_' i").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;''R_' i" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''R_' i").<br/>
+<span class="id" title="keyword">Reserved Notation</span> &quot;''e_' i" (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">i</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''e_' i").<br/>
+
+<br/>
+<span class="id" title="keyword">Delimit</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">irrType_scope</span> <span class="id" title="keyword">with</span> <span class="id" title="var">irr</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr"><span class="id" title="section">RingRepr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RingRepr.R"><span class="id" title="variable">R</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Exports.comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RingRepr.OneRepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_repr"><span class="id" title="definition">mx_repr</span></a> (<span class="id" title="var">G</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.mxrepresentation.html#RingRepr.OneRepresentation.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">n</span> (<span class="id" title="var">r</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.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.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.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#r"><span class="id" title="variable">r</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> 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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#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.mxrepresentation.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.mxrepresentation.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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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">Structure</span> <a name="mx_representation"><span class="id" title="record">mx_representation</span></a> <span class="id" title="var">G</span> <span class="id" title="var">n</span> :=<br/>
+&nbsp;&nbsp;<a name="MxRepresentation"><span class="id" title="constructor">MxRepresentation</span></a> { <a name="repr_mx"><span class="id" title="projection">repr_mx</span></a> :&gt; <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.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.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>; <span class="id" title="var">_</span> : <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.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#repr_mx"><span class="id" title="method">repr_mx</span></a> }.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.OneRepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.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="RingRepr.OneRepresentation.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="RingRepr.OneRepresentation.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.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mx1"><span class="id" title="lemma">repr_mx1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mxM"><span class="id" title="lemma">repr_mxM</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.mxrepresentation.html#RingRepr.OneRepresentation.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">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</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.mxrepresentation.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.mxrepresentation.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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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">Lemma</span> <a name="repr_mxK"><span class="id" title="lemma">repr_mxK</span></a> <span class="id" title="var">m</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.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="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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mxKV"><span class="id" title="lemma">repr_mxKV</span></a> <span class="id" title="var">m</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.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="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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a>@<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mx_unit"><span class="id" title="lemma">repr_mx_unit</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.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#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mxV"><span class="id" title="lemma">repr_mxV</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.mxrepresentation.html#RingRepr.OneRepresentation.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="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.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</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">x</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.mxrepresentation.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>%<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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This is only used in the group ring construction below, as we only have
+ developped the theory of matrix subalgebras for F-algebras.
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</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">&lt;</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#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</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.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.OneRepresentation.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.OneRepresentation.Stabiliser.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="RingRepr.OneRepresentation.Stabiliser.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rstab"><span class="id" title="definition">rstab</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.Stabiliser.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.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.Stabiliser.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_sub"><span class="id" title="lemma">rstab_sub</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</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#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_group_set"><span class="id" title="lemma">rstab_group_set</span></a> : <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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rstab_group</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab_group_set"><span class="id" title="lemma">rstab_group_set</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Centralizer subgroup and central homomorphisms.
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="RingRepr.OneRepresentation.CentHom"><span class="id" title="section">CentHom</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RingRepr.OneRepresentation.CentHom.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><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rcent"><span class="id" title="definition">rcent</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</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.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_sub"><span class="id" title="lemma">rcent_sub</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</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#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_group_set"><span class="id" title="lemma">rcent_group_set</span></a> : <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.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rcent_group</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent_group_set"><span class="id" title="lemma">rcent_group_set</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="centgmx"><span class="id" title="definition">centgmx</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.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.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="centgmxP"><span class="id" title="lemma">centgmxP</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> (<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.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#RingRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</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.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.CentHom"><span class="id" title="section">CentHom</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Representation kernel, and faithful representations.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rker"><span class="id" title="definition">rker</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rker_group</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#ccb763a84253e971fd106aeeb9cd3cb0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ccb763a84253e971fd106aeeb9cd3cb0"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#ccb763a84253e971fd106aeeb9cd3cb0"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ccb763a84253e971fd106aeeb9cd3cb0"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rkerP"><span class="id" title="lemma">rkerP</span></a> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.OneRepresentation.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#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_norm"><span class="id" title="lemma">rker_norm</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.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.mxrepresentation.html#rker"><span class="id" title="definition">rker</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">Lemma</span> <a name="rker_normal"><span class="id" title="lemma">rker_normal</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation">&lt;|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_faithful"><span class="id" title="definition">mx_faithful</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#rker"><span class="id" title="definition">rker</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#c33afa16525556de4ed568ad52c9389f"><span class="id" title="notation">[1]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_faithful_inj"><span class="id" title="lemma">mx_faithful_inj</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="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#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.mxrepresentation.html#RingRepr.OneRepresentation.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">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_linear"><span class="id" title="lemma">rker_linear</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</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#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a>1<a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>%<span class="id" title="var">g</span> <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>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Representation center.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rcenter"><span class="id" title="definition">rcenter</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">g</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#is_scalar_mx"><span class="id" title="definition">is_scalar_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a>)<a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="rcenter_group_set"><span class="id" title="lemma">rcenter_group_set</span></a> : <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.mxrepresentation.html#rcenter"><span class="id" title="definition">rcenter</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rcenter_group</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rcenter_group_set"><span class="id" title="lemma">rcenter_group_set</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcenter_normal"><span class="id" title="lemma">rcenter_normal</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcenter"><span class="id" title="definition">rcenter</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation">&lt;|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Proper"><span class="id" title="section">Proper</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Proper.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="RingRepr.Proper.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.mxrepresentation.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="RingRepr.Proper.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="RingRepr.Proper.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.mxrepresentation.html#RingRepr.Proper.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="abbreviation">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mxMr"><span class="id" title="lemma">repr_mxMr</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.mxrepresentation.html#RingRepr.Proper.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">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Proper.rG"><span class="id" title="variable">rG</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.mxrepresentation.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.mxrepresentation.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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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">Lemma</span> <a name="repr_mxVr"><span class="id" title="lemma">repr_mxVr</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.mxrepresentation.html#RingRepr.Proper.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="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.mxrepresentation.html#RingRepr.Proper.rG"><span class="id" title="variable">rG</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">x</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.mxrepresentation.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>)%<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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mx_unitr"><span class="id" title="lemma">repr_mx_unitr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Proper.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#RingRepr.Proper.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mxX"><span class="id" title="lemma">repr_mxX</span></a> <span class="id" title="var">m</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Proper.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="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.mxrepresentation.html#RingRepr.Proper.rG"><span class="id" title="variable">rG</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">x</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.mxrepresentation.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.mxrepresentation.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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Proper"><span class="id" title="section">Proper</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.ChangeGroup"><span class="id" title="section">ChangeGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.ChangeGroup.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="RingRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a> <a name="RingRepr.ChangeGroup.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.mxrepresentation.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="RingRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.ChangeGroup.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.mxrepresentation.html#RingRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.ChangeGroup.SubGroup"><span class="id" title="section">SubGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="RingRepr.ChangeGroup.SubGroup.sHG"><span class="id" title="variable">sHG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.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.mxrepresentation.html#RingRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subg_mx_repr"><span class="id" title="lemma">subg_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.mxrepresentation.html#RingRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="subg_repr"><span class="id" title="definition">subg_repr</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MxRepresentation"><span class="id" title="constructor">MxRepresentation</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#subg_mx_repr"><span class="id" title="lemma">subg_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_subg"><span class="id" title="lemma">rcent_subg</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#RingRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.ChangeGroup.SubGroup.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.ChangeGroup.SubGroup.Stabiliser.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="RingRepr.ChangeGroup.SubGroup.Stabiliser.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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.mxrepresentation.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.mxrepresentation.html#RingRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_subg"><span class="id" title="lemma">rstab_subg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SubGroup.Stabiliser.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#RingRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</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.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SubGroup.Stabiliser.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SubGroup.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_subg"><span class="id" title="lemma">rker_subg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="http://coq.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#RingRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</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.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subg_mx_faithful"><span class="id" title="lemma">subg_mx_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.mxrepresentation.html#RingRepr.ChangeGroup.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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SubGroup"><span class="id" title="section">SubGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.ChangeGroup.SameGroup"><span class="id" title="section">SameGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="RingRepr.ChangeGroup.SameGroup.eqGH"><span class="id" title="variable">eqGH</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqg_repr_proof"><span class="id" title="lemma">eqg_repr_proof</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.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.mxrepresentation.html#RingRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="eqg_repr"><span class="id" title="definition">eqg_repr</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.mxrepresentation.html#eqg_repr_proof"><span class="id" title="lemma">eqg_repr_proof</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_eqg"><span class="id" title="lemma">rcent_eqg</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.ChangeGroup.SameGroup.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.ChangeGroup.SameGroup.Stabiliser.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="RingRepr.ChangeGroup.SameGroup.Stabiliser.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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.mxrepresentation.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.mxrepresentation.html#RingRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_eqg"><span class="id" title="lemma">rstab_eqg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SameGroup.Stabiliser.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#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SameGroup.Stabiliser.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SameGroup.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_eqg"><span class="id" title="lemma">rker_eqg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqg_mx_faithful"><span class="id" title="lemma">eqg_mx_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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#RingRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup.SameGroup"><span class="id" title="section">SameGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.ChangeGroup"><span class="id" title="section">ChangeGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Morphpre"><span class="id" title="section">Morphpre</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Morphpre.aT"><span class="id" title="variable">aT</span></a> <a name="RingRepr.Morphpre.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="RingRepr.Morphpre.D"><span class="id" title="variable">D</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.mxrepresentation.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="RingRepr.Morphpre.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Morphpre.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.mxrepresentation.html#RingRepr.Morphpre.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="RingRepr.Morphpre.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="RingRepr.Morphpre.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.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphpre_mx_repr"><span class="id" title="lemma">morphpre_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.mxrepresentation.html#RingRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphpre.G"><span class="id" title="variable">G</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphpre.rG"><span class="id" title="variable">rG</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.mxrepresentation.html#RingRepr.Morphpre.f"><span class="id" title="variable">f</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">morphpre_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.mxrepresentation.html#morphpre_mx_repr"><span class="id" title="lemma">morphpre_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Morphpre.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Morphpre.Stabiliser.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="RingRepr.Morphpre.Stabiliser.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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.mxrepresentation.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.mxrepresentation.html#RingRepr.Morphpre.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_morphpre"><span class="id" title="lemma">rstab_morphpre</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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphpre.Stabiliser.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#RingRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><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.mxrepresentation.html#RingRepr.Morphpre.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphpre.Stabiliser.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphpre.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_morphpre"><span class="id" title="lemma">rker_morphpre</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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="http://coq.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#RingRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><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.mxrepresentation.html#RingRepr.Morphpre.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphpre"><span class="id" title="section">Morphpre</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Morphim"><span class="id" title="section">Morphim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Morphim.aT"><span class="id" title="variable">aT</span></a> <a name="RingRepr.Morphim.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="RingRepr.Morphim.G"><span class="id" title="variable">G</span></a> <a name="RingRepr.Morphim.D"><span class="id" title="variable">D</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.mxrepresentation.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Morphim.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="RingRepr.Morphim.rGf"><span class="id" title="variable">rGf</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.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="morphim_mx"><span class="id" title="definition">morphim_mx</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.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.character.mxrepresentation.html#RingRepr.Morphim.D"><span class="id" title="variable">D</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="RingRepr.Morphim.sGD"><span class="id" title="variable">sGD</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.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.character.mxrepresentation.html#RingRepr.Morphim.D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphim_mxE"><span class="id" title="lemma">morphim_mxE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#morphim_mx"><span class="id" title="definition">morphim_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.sGD"><span class="id" title="variable">sGD</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>). <br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="RingRepr.Morphim.sG_f'fG"><span class="id" title="variable">sG_f'fG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.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.character.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphim_mx_repr"><span class="id" title="lemma">morphim_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.mxrepresentation.html#RingRepr.Morphim.G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#morphim_mx"><span class="id" title="definition">morphim_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.sGD"><span class="id" title="variable">sGD</span></a>).<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">morphim_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.mxrepresentation.html#morphim_mx_repr"><span class="id" title="lemma">morphim_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Morphim.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Morphim.Stabiliser.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="RingRepr.Morphim.Stabiliser.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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.mxrepresentation.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.mxrepresentation.html#RingRepr.Morphim.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_morphim"><span class="id" title="lemma">rstab_morphim</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.mxrepresentation.html#rG"><span class="id" title="abbreviation">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.Stabiliser.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#RingRepr.Morphim.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</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.mxrepresentation.html#RingRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.Stabiliser.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.Stabiliser"><span class="id" title="section">Stabiliser</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_morphim"><span class="id" title="lemma">rker_morphim</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.mxrepresentation.html#rG"><span class="id" title="abbreviation">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.character.mxrepresentation.html#RingRepr.Morphim.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><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.mxrepresentation.html#RingRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Morphim"><span class="id" title="section">Morphim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Conjugate"><span class="id" title="section">Conjugate</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Conjugate.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="RingRepr.Conjugate.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.mxrepresentation.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="RingRepr.Conjugate.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Conjugate.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.mxrepresentation.html#RingRepr.Conjugate.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.n"><span class="id" title="variable">n</span></a>) (<a name="RingRepr.Conjugate.B"><span class="id" title="variable">B</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.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rconj_mx"><span class="id" title="definition">rconj_mx</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> := <span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="RingRepr.Conjugate.uB"><span class="id" title="variable">uB</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rconj_mx_repr"><span class="id" title="lemma">rconj_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.mxrepresentation.html#RingRepr.Conjugate.G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rconj_mx"><span class="id" title="definition">rconj_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.uB"><span class="id" title="variable">uB</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rconj_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.mxrepresentation.html#rconj_mx_repr"><span class="id" title="lemma">rconj_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rconj_mxE"><span class="id" title="lemma">rconj_mxE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rconj_mxJ"><span class="id" title="lemma">rconj_mxJ</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#RingRepr.Conjugate.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">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Conjugate.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_conj"><span class="id" title="lemma">rcent_conj</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_conj"><span class="id" title="lemma">rstab_conj</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.mxrepresentation.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.mxrepresentation.html#RingRepr.Conjugate.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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Conjugate.B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_conj"><span class="id" title="lemma">rker_conj</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.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="conj_mx_faithful"><span class="id" title="lemma">conj_mx_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.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#RingRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Conjugate"><span class="id" title="section">Conjugate</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Quotient"><span class="id" title="section">Quotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Quotient.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="RingRepr.Quotient.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.mxrepresentation.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="RingRepr.Quotient.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="RingRepr.Quotient.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.mxrepresentation.html#RingRepr.Quotient.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="quo_mx"><span class="id" title="definition">quo_mx</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.mxrepresentation.html#RingRepr.Quotient.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="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> &amp; <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">Hx</span> : <a class="idref" href="mathcomp.fingroup.quotient.html#coset_of"><span class="id" title="record">coset_of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#repr"><span class="id" title="definition">repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Hx"><span class="id" title="variable">Hx</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Quotient.SubQuotient"><span class="id" title="section">SubQuotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="RingRepr.Quotient.SubQuotient.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.mxrepresentation.html#RingRepr.Quotient.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="RingRepr.Quotient.SubQuotient.krH"><span class="id" title="variable">krH</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.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.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>) (<a name="RingRepr.Quotient.SubQuotient.nHG"><span class="id" title="variable">nHG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.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.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="RingRepr.Quotient.SubQuotient.nHGs"><span class="id" title="variable">nHGs</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#subsetP"><span class="id" title="lemma">subsetP</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.nHG"><span class="id" title="variable">nHG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="quo_mx_coset"><span class="id" title="lemma">quo_mx_coset</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.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#quo_mx"><span class="id" title="definition">quo_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.krH"><span class="id" title="variable">krH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.nHG"><span class="id" title="variable">nHG</span></a> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="quo_mx_repr"><span class="id" title="lemma">quo_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.mxrepresentation.html#RingRepr.Quotient.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span> (<a class="idref" href="mathcomp.character.mxrepresentation.html#quo_mx"><span class="id" title="definition">quo_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.krH"><span class="id" title="variable">krH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.nHG"><span class="id" title="variable">nHG</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">quo_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.mxrepresentation.html#quo_mx_repr"><span class="id" title="lemma">quo_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="quo_repr_coset"><span class="id" title="lemma">quo_repr_coset</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.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#rGH"><span class="id" title="abbreviation">rGH</span></a> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_quo"><span class="id" title="lemma">rcent_quo</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_quo"><span class="id" title="lemma">rstab_quo</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.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_quo"><span class="id" title="lemma">rker_quo</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.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.SubQuotient"><span class="id" title="section">SubQuotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="kquo_mx"><span class="id" title="definition">kquo_mx</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#quo_mx"><span class="id" title="definition">quo_mx</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#subxx"><span class="id" title="lemma">subxx</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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>)) (<a class="idref" href="mathcomp.character.mxrepresentation.html#rker_norm"><span class="id" title="lemma">rker_norm</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>).<br/>
+<span class="id" title="keyword">Lemma</span> <a name="kquo_mxE"><span class="id" title="lemma">kquo_mxE</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#kquo_mx"><span class="id" title="definition">kquo_mx</span></a> <a class="idref" href="http://coq.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#quo_mx"><span class="id" title="definition">quo_mx</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#subxx"><span class="id" title="lemma">subxx</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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>)) (<a class="idref" href="mathcomp.character.mxrepresentation.html#rker_norm"><span class="id" title="lemma">rker_norm</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">kquo_repr</span> := @<a class="idref" href="mathcomp.character.mxrepresentation.html#MxRepresentation"><span class="id" title="constructor">MxRepresentation</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#kquo_mx"><span class="id" title="definition">kquo_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#quo_mx_repr"><span class="id" title="lemma">quo_mx_repr</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="kquo_repr_coset"><span class="id" title="lemma">kquo_repr_coset</span></a> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.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#kquo_repr"><span class="id" title="definition">kquo_repr</span></a> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="kquo_mx_faithful"><span class="id" title="lemma">kquo_mx_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.mxrepresentation.html#kquo_repr"><span class="id" title="definition">kquo_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Quotient"><span class="id" title="section">Quotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Regular"><span class="id" title="section">Regular</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Regular.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="RingRepr.Regular.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.mxrepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="gring_index"><span class="id" title="definition">gring_index</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.gT"><span class="id" title="variable">gT</span></a>) := <a class="idref" href="mathcomp.ssreflect.fintype.html#enum_rank_in"><span class="id" title="definition">enum_rank_in</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#group1"><span class="id" title="lemma">group1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_valK"><span class="id" title="lemma">gring_valK</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.ssreflect.fintype.html#enum_val"><span class="id" title="definition">enum_val</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_index"><span class="id" title="definition">gring_index</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_indexK"><span class="id" title="lemma">gring_indexK</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.mxrepresentation.html#RingRepr.Regular.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="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.mxrepresentation.html#gring_index"><span class="id" title="definition">gring_index</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="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">Definition</span> <a name="regular_mx"><span class="id" title="definition">regular_mx</span></a> <span class="id" title="var">x</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.character.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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">_nG</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#delta_mx"><span class="id" title="definition">delta_mx</span></a> 0 (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_index"><span class="id" title="definition">gring_index</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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="regular_mx_repr"><span class="id" title="lemma">regular_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.mxrepresentation.html#RingRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#regular_mx"><span class="id" title="definition">regular_mx</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">regular_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.mxrepresentation.html#regular_mx_repr"><span class="id" title="lemma">regular_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="group_ring"><span class="id" title="definition">group_ring</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="gring_row"><span class="id" title="definition">gring_row</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.mxrepresentation.html#RingRepr.R"><span class="id" title="variable">R</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">_nG</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#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_nG</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_index"><span class="id" title="definition">gring_index</span></a> 1).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gring_row_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_row_mul"><span class="id" title="lemma">gring_row_mul</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="gring_proj"><span class="id" title="definition">gring_proj</span></a> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_index"><span class="id" title="definition">gring_index</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#trmx"><span class="id" title="definition">trmx</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.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gring_proj_linear</span> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_proj"><span class="id" title="definition">gring_proj</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_projE"><span class="id" title="lemma">gring_projE</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.mxrepresentation.html#RingRepr.Regular.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">&amp;,</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.mxrepresentation.html#gring_proj"><span class="id" title="definition">gring_proj</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.algebra.ssralg.html#af5c1d7e13410a0a6c3dff5441ac8477"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#y"><span class="id" title="variable">y</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="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="regular_mx_faithful"><span class="id" title="lemma">regular_mx_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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Regular.GringMx"><span class="id" title="section">GringMx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Regular.GringMx.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="RingRepr.Regular.GringMx.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.mxrepresentation.html#RingRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="gring_mx"><span class="id" title="definition">gring_mx</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mulmxr"><span class="id" title="abbreviation">mulmxr</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gring_mx_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_mxJ"><span class="id" title="lemma">gring_mxJ</span></a> <span class="id" title="var">a</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Regular.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#gring_mx"><span class="id" title="definition">gring_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringMx"><span class="id" title="section">GringMx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_mxK"><span class="id" title="lemma">gring_mxK</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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="RingRepr.Regular.GringOp"><span class="id" title="section">GringOp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="RingRepr.Regular.GringOp.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="RingRepr.Regular.GringOp.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.mxrepresentation.html#RingRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="gring_op"><span class="id" title="definition">gring_op</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</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.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gring_op_linear</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_opE"><span class="id" title="lemma">gring_opE</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_opG"><span class="id" title="lemma">gring_opG</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Regular.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#gring_op"><span class="id" title="definition">gring_op</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_op1"><span class="id" title="lemma">gring_op1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</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> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_opJ"><span class="id" title="lemma">gring_opJ</span></a> <span class="id" title="var">A</span> <span class="id" title="var">b</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#b"><span class="id" title="variable">b</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_op_mx"><span class="id" title="lemma">gring_op_mx</span></a> <span class="id" title="var">b</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#b"><span class="id" title="variable">b</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_mxA"><span class="id" title="lemma">gring_mxA</span></a> <span class="id" title="var">a</span> <span class="id" title="var">b</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular.GringOp.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#RingRepr.Regular.GringOp"><span class="id" title="section">GringOp</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr.Regular"><span class="id" title="section">Regular</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#RingRepr"><span class="id" title="section">RingRepr</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ChangeOfRing"><span class="id" title="section">ChangeOfRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ChangeOfRing.aR"><span class="id" title="variable">aR</span></a> <a name="ChangeOfRing.rR"><span class="id" title="variable">rR</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComUnitRing.Exports.comUnitRingType"><span class="id" title="abbreviation">comUnitRingType</span></a>) (<a name="ChangeOfRing.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aR"><span class="id" title="variable">aR</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#rR"><span class="id" title="variable">rR</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ChangeOfRing.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="ChangeOfRing.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.mxrepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_regular_mx"><span class="id" title="lemma">map_regular_mx</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#regular_mx"><span class="id" title="definition">regular_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.aR"><span class="id" title="variable">aR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#regular_mx"><span class="id" title="definition">regular_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.rR"><span class="id" title="variable">rR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_gring_row"><span class="id" title="lemma">map_gring_row</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_</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#ChangeOfRing.G"><span class="id" title="variable">G</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#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_gring_proj"><span class="id" title="lemma">map_gring_proj</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_</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#ChangeOfRing.G"><span class="id" title="variable">G</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#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#gring_proj"><span class="id" title="definition">gring_proj</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_proj"><span class="id" title="definition">gring_proj</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ChangeOfRing.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ChangeOfRing.OneRepresentation.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="ChangeOfRing.OneRepresentation.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.mxrepresentation.html#ChangeOfRing.aR"><span class="id" title="variable">aR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="map_repr_mx"><span class="id" title="definition">map_repr_mx</span></a> (<span class="id" title="var">f0</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.aR"><span class="id" title="variable">aR</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#ChangeOfRing.rR"><span class="id" title="variable">rR</span></a>) <span class="id" title="var">rG0</span> (<span class="id" title="var">g</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.gT"><span class="id" title="variable">gT</span></a>) : <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.algebra.matrix.html#map_mx"><span class="id" title="definition">map_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f0"><span class="id" title="variable">f0</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rG0"><span class="id" title="variable">rG0</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_mx_repr"><span class="id" title="lemma">map_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.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr_mx"><span class="id" title="definition">map_repr_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.OneRepresentation.rG"><span class="id" title="variable">rG</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">map_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.mxrepresentation.html#map_mx_repr"><span class="id" title="lemma">map_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_reprE"><span class="id" title="lemma">map_reprE</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_reprJ"><span class="id" title="lemma">map_reprJ</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.mxrepresentation.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.mxrepresentation.html#ChangeOfRing.OneRepresentation.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">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#ChangeOfRing.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_enveloping_algebra_mx"><span class="id" title="lemma">map_enveloping_algebra_mx</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.OneRepresentation.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_gring_mx"><span class="id" title="lemma">map_gring_mx</span></a> <span class="id" title="var">a</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_gring_op"><span class="id" title="lemma">map_gring_op</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_regular_repr"><span class="id" title="lemma">map_regular_repr</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#regular_repr"><span class="id" title="definition">regular_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.aR"><span class="id" title="variable">aR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</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.mxrepresentation.html#regular_repr"><span class="id" title="definition">regular_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.rR"><span class="id" title="variable">rR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_group_ring"><span class="id" title="lemma">map_group_ring</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#group_ring"><span class="id" title="definition">group_ring</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.aR"><span class="id" title="variable">aR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#b0f826e6b28b62b07de0a7ecb715959e"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#group_ring"><span class="id" title="definition">group_ring</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.rR"><span class="id" title="variable">rR</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Stabilisers, etc, are only mapped properly for fields.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfRing"><span class="id" title="section">ChangeOfRing</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr"><span class="id" title="section">FieldRepr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.OneRepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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="FieldRepr.OneRepresentation.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="FieldRepr.OneRepresentation.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="repr_mx_free"><span class="id" title="lemma">repr_mx_free</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.OneRepresentation.Stabilisers.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="FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#FieldRepr.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rstabs"><span class="id" title="definition">rstabs</span></a> := <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><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="rstabs_sub"><span class="id" title="lemma">rstabs_sub</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</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#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_group_set"><span class="id" title="lemma">rstabs_group_set</span></a> : <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.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">rstabs_group</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs_group_set"><span class="id" title="lemma">rstabs_group_set</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_act"><span class="id" title="lemma">rstab_act</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m1</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_act"><span class="id" title="lemma">rstabs_act</span></a> <span class="id" title="var">x</span> <span class="id" title="var">m1</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxmodule"><span class="id" title="definition">mxmodule</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.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.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmoduleP"><span class="id" title="lemma">mxmoduleP</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.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.mxrepresentation.html#FieldRepr.OneRepresentation.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers.U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabS"><span class="id" title="lemma">rstabS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">V</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_rstab"><span class="id" title="lemma">eqmx_rstab</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">V</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_rstabs"><span class="id" title="lemma">eqmx_rstabs</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">V</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_module"><span class="id" title="lemma">eqmx_module</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">V</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule0"><span class="id" title="lemma">mxmodule0</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule1"><span class="id" title="lemma">mxmodule1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_trans"><span class="id" title="lemma">mxmodule_trans</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_eigenvector"><span class="id" title="lemma">mxmodule_eigenvector</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">u</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">a</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">|</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_module"><span class="id" title="lemma">addsmx_module</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmx_module"><span class="id" title="lemma">sumsmx_module</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<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">&lt;-</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx_module"><span class="id" title="lemma">capmx_module</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m1"><span class="id" title="variable">m1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m2"><span class="id" title="variable">m2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="bigcapmx_module"><span class="id" title="lemma">bigcapmx_module</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">bigcap_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#100e927ba2b04df0505700ca9d0edd64"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Sub- and factor representations induced by a (sub)module.
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.Submodule"><span class="id" title="section">Submodule</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.Submodule.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="val_submod"><span class="id" title="definition">val_submod</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</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#d43e996736952df71ebeeae74d10a287"><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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#mulmxr"><span class="id" title="abbreviation">mulmxr</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_base"><span class="id" title="definition">row_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="in_submod"><span class="id" title="definition">in_submod</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#d43e996736952df71ebeeae74d10a287"><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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a> :=<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#mulmxr"><span class="id" title="abbreviation">mulmxr</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#pid_mx"><span class="id" title="definition">pid_mx</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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">val_submod_linear</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">in_submod_linear</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submodE"><span class="id" title="lemma">val_submodE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : @<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_submodE"><span class="id" title="lemma">in_submodE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : @<a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submod1"><span class="id" title="lemma">val_submod1</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submodP"><span class="id" title="lemma">val_submodP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : (@<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submodK"><span class="id" title="lemma">val_submodK</span></a> <span class="id" title="var">m</span> : <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.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submod_inj"><span class="id" title="lemma">val_submod_inj</span></a> <span class="id" title="var">m</span> : <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.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submodS"><span class="id" title="lemma">val_submodS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> (<span class="id" title="var">V</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.mxrepresentation.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">W</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.mxrepresentation.html#m2"><span class="id" title="variable">m2</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_submodK"><span class="id" title="lemma">in_submodK</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> (@<a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submod_eq0"><span class="id" title="lemma">val_submod_eq0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</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.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_submod_eq0"><span class="id" title="lemma">in_submod_eq0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</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.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_in_submod"><span class="id" title="lemma">mxrank_in_submod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="val_factmod"><span class="id" title="definition">val_factmod</span></a> <span class="id" title="var">m</span> : <span class="id" title="var">_</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.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#mulmxr"><span class="id" title="abbreviation">mulmxr</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#row_base"><span class="id" title="definition">row_base</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_ebase"><span class="id" title="definition">row_ebase</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="in_factmod"><span class="id" title="definition">in_factmod</span></a> <span class="id" title="var">m</span> : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.algebra.matrix.html#mulmxr"><span class="id" title="abbreviation">mulmxr</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#col_base"><span class="id" title="definition">col_base</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">val_factmod_linear</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">in_factmod_linear</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">linear</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">of</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#6a5a02fb109bf09435e2c36ba981b2b6"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmodE"><span class="id" title="lemma">val_factmodE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : @<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmodE"><span class="id" title="lemma">in_factmodE</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : @<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmodP"><span class="id" title="lemma">val_factmodP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</span> : (@<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmodK"><span class="id" title="lemma">val_factmodK</span></a> <span class="id" title="var">m</span> : <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.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmod_inj"><span class="id" title="lemma">val_factmod_inj</span></a> <span class="id" title="var">m</span> : <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.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmodS"><span class="id" title="lemma">val_factmodS</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</span> (<span class="id" title="var">V</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.mxrepresentation.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> <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) (<span class="id" title="var">W</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.mxrepresentation.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> <span class="id" title="var">_</span><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmod_eq0"><span class="id" title="lemma">val_factmod_eq0</span></a> <span class="id" title="var">m</span> <span class="id" title="var">W</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.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmod_eq0"><span class="id" title="lemma">in_factmod_eq0</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmodK"><span class="id" title="lemma">in_factmodK</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#56c42908e63b585e8406ab6296f5d2e9"><span class="id" title="notation">C</span></a>)%<span class="id" title="var">MS</span> <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#val_factmod"><span class="id" title="definition">val_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmod_addsK"><span class="id" title="lemma">in_factmod_addsK</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="add_sub_fact_mod"><span class="id" title="lemma">add_sub_fact_mod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_factmodS"><span class="id" title="lemma">proj_factmodS</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmodsK"><span class="id" title="lemma">in_factmodsK</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.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.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_in_factmod"><span class="id" title="lemma">mxrank_in_factmod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="submod_mx"><span class="id" title="definition">submod_mx</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="factmod_mx"><span class="id" title="definition">factmod_mx</span></a> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">fun</span> <span class="id" title="var">x</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_submodJ"><span class="id" title="lemma">in_submodJ</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">x</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#submod_mx"><span class="id" title="definition">submod_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submodJ"><span class="id" title="lemma">val_submodJ</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#val_submod"><span class="id" title="definition">val_submod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#submod_mx"><span class="id" title="definition">submod_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submod_mx_repr"><span class="id" title="lemma">submod_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.mxrepresentation.html#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#submod_mx"><span class="id" title="definition">submod_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">submod_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.mxrepresentation.html#submod_mx_repr"><span class="id" title="lemma">submod_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmodJ"><span class="id" title="lemma">in_factmodJ</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#in_factmod"><span class="id" title="definition">in_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_mx"><span class="id" title="definition">factmod_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmodJ"><span class="id" title="lemma">val_factmodJ</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_mx"><span class="id" title="definition">factmod_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="factmod_mx_repr"><span class="id" title="lemma">factmod_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.mxrepresentation.html#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_mx"><span class="id" title="definition">factmod_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule.Umod"><span class="id" title="variable">Umod</span></a>).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">factmod_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.mxrepresentation.html#factmod_mx_repr"><span class="id" title="lemma">factmod_mx_repr</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ For character theory.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_sub_fact_mod"><span class="id" title="lemma">mxtrace_sub_fact_mod</span></a> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Submodule"><span class="id" title="section">Submodule</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Properties of enveloping algebra as a subspace of 'rV</i>(n ^ 2).
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="envelop_mx_id"><span class="id" title="lemma">envelop_mx_id</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="envelop_mx1"><span class="id" title="lemma">envelop_mx1</span></a> : (1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="envelop_mxP"><span class="id" title="lemma">envelop_mxP</span></a> <span class="id" title="var">A</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">a</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="envelop_mxM"><span class="id" title="lemma">envelop_mxM</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_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#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_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#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.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_envelop"><span class="id" title="lemma">mxmodule_envelop</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">A</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Module homomorphisms; any square matrix f defines a module homomorphism
+ over some domain, namely, dom_hom_mx f.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <span class="id" title="var">f</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> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#lin1_mx"><span class="id" title="definition">lin1_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#cent_mx_fun"><span class="id" title="definition">cent_mx_fun</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mul_row"><span class="id" title="definition">lin_mul_row</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_mxP"><span class="id" title="lemma">hom_mxP</span></a> <span class="id" title="var">m</span> <span class="id" title="var">f</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_envelop_mxC"><span class="id" title="lemma">hom_envelop_mxC</span></a> <span class="id" title="var">m</span> <span class="id" title="var">f</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">A</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</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.mxrepresentation.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="dom_hom_invmx"><span class="id" title="lemma">dom_hom_invmx</span></a> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dom_hom_mx_module"><span class="id" title="lemma">dom_hom_mx_module</span></a> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_mxmodule"><span class="id" title="lemma">hom_mxmodule</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">f</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="kermx_hom_module"><span class="id" title="lemma">kermx_hom_module</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">f</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="scalar_mx_hom"><span class="id" title="lemma">scalar_mx_hom</span></a> <span class="id" title="var">a</span> <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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="proj_mx_hom"><span class="id" title="lemma">proj_mx_hom</span></a> (<span class="id" title="var">U</span> <span class="id" title="var">V</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>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#proj_mx"><span class="id" title="definition">proj_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The subspace fixed by a subgroup H of G; it is a module if H &lt;| G.
+ The definition below is extensionally equivalent to the straightforward
+ \bigcap(x in H) kermx (rG x - 1%:M)
+ but it avoids the dependency on the choice function; this allows it to
+ commute with ring morphisms.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="rfix_mx"><span class="id" title="definition">rfix_mx</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.mxrepresentation.html#FieldRepr.OneRepresentation.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/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">commrH</span> := <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">&lt;</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#H"><span class="id" title="variable">H</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.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#d70623330b2787db6b196e37db7d8f45"><span class="id" title="notation">-</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#lin1_mx"><span class="id" title="definition">lin1_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mulmx"><span class="id" title="definition">mulmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#commrH"><span class="id" title="variable">commrH</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#1b4394c5c1740ef3dc9e4224084970bb"><span class="id" title="notation">o</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mul_row"><span class="id" title="definition">lin_mul_row</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_mxP"><span class="id" title="lemma">rfix_mxP</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">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.mxrepresentation.html#FieldRepr.OneRepresentation.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/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_mx_id"><span class="id" title="lemma">rfix_mx_id</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.mxrepresentation.html#FieldRepr.OneRepresentation.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">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_mxS"><span class="id" title="lemma">rfix_mxS</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.mxrepresentation.html#FieldRepr.OneRepresentation.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.mxrepresentation.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.mxrepresentation.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#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.mxrepresentation.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_mx_conjsg"><span class="id" title="lemma">rfix_mx_conjsg</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.mxrepresentation.html#FieldRepr.OneRepresentation.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">x</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#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.mxrepresentation.html#FieldRepr.OneRepresentation.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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1deb3845cf16de446ae6619879e9d6db"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><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.mxrepresentation.html#H"><span class="id" title="variable">H</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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="norm_sub_rstabs_rfix_mx"><span class="id" title="lemma">norm_sub_rstabs_rfix_mx</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.mxrepresentation.html#FieldRepr.OneRepresentation.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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.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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><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#rstabs"><span class="id" title="definition">rstabs</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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="normal_rfix_mx_module"><span class="id" title="lemma">normal_rfix_mx_module</span></a> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation">&lt;|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.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#mxmodule"><span class="id" title="definition">mxmodule</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.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_mx_module"><span class="id" title="lemma">rfix_mx_module</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.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_mx_rstabC"><span class="id" title="lemma">rfix_mx_rstabC</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.mxrepresentation.html#FieldRepr.OneRepresentation.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">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.character.mxrepresentation.html#FieldRepr.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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="http://coq.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#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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The cyclic module generated by a single vector.
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <span class="id" title="var">u</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mul_row"><span class="id" title="definition">lin_mul_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cyclic_mxP"><span class="id" title="lemma">cyclic_mxP</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">A</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cyclic_mx_id"><span class="id" title="lemma">cyclic_mx_id</span></a> <span class="id" title="var">u</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cyclic_mx_eq0"><span class="id" title="lemma">cyclic_mx_eq0</span></a> <span class="id" title="var">u</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://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.mxrepresentation.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a 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="cyclic_mx_module"><span class="id" title="lemma">cyclic_mx_module</span></a> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cyclic_mx_sub"><span class="id" title="lemma">cyclic_mx_sub</span></a> <span class="id" title="var">m</span> <span class="id" title="var">u</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_cyclic_mx"><span class="id" title="lemma">hom_cyclic_mx</span></a> <span class="id" title="var">u</span> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The annihilator of a single vector.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="annihilator_mx"><span class="id" title="definition">annihilator_mx</span></a> <span class="id" title="var">u</span> := (<a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#lin_mul_row"><span class="id" title="definition">lin_mul_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="annihilator_mxP"><span class="id" title="lemma">annihilator_mxP</span></a> <span class="id" title="var">u</span> <span class="id" title="var">A</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#annihilator_mx"><span class="id" title="definition">annihilator_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The subspace of homomorphic images of a row vector.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="row_hom_mx"><span class="id" title="definition">row_hom_mx</span></a> <span class="id" title="var">u</span> :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#54e7d9f4b977a8c6a97cf3c43491cf52"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#54e7d9f4b977a8c6a97cf3c43491cf52"><span class="id" title="notation">bigcap_j</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#annihilator_mx"><span class="id" title="definition">annihilator_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>))))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_hom_mxP"><span class="id" title="lemma">row_hom_mxP</span></a> <span class="id" title="var">u</span> <span class="id" title="var">v</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">f</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.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a>)%<span class="id" title="var">MS</span> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#row_hom_mx"><span class="id" title="definition">row_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Sub-, isomorphic, simple, semisimple and completely reducible modules.
+ All these predicates are intuitionistic (since, e.g., testing simplicity
+ requires a splitting algorithm fo r the mas field). They are all
+ specialized to square matrices, to avoid spurrious height parameters.
+<div class="paragraph"> </div>
+
+ Module isomorphism is an intentional property in general, but it can be
+ decided when one of the two modules is known to be simple.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="mx_iso"><span class="id" title="inductive">mx_iso</span></a> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) : <span class="id" title="keyword">Prop</span> :=<br/>
+&nbsp;&nbsp;<a name="MxIso"><span class="id" title="constructor">MxIso</span></a> <span class="id" title="var">f</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a> &amp; (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> &amp; (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_iso"><span class="id" title="lemma">eqmx_iso</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_iso_refl"><span class="id" title="lemma">mx_iso_refl</span></a> <span class="id" title="var">U</span> : <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_iso_sym"><span class="id" title="lemma">mx_iso_sym</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_iso_trans"><span class="id" title="lemma">mx_iso_trans</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_iso"><span class="id" title="lemma">mxrank_iso</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_iso_module"><span class="id" title="lemma">mx_iso_module</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Simple modules (we reserve the term "irreducible" for representations).
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxsimple"><span class="id" title="definition">mxsimple</span></a> (<span class="id" title="var">V</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>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">U</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.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</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.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxnonsimple"><span class="id" title="definition">mxnonsimple</span></a> (<span class="id" title="var">U</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>) :=<br/>
+&nbsp;&nbsp;<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">V</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&amp;&amp;</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.mxrepresentation.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#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&amp;</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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.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#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimpleP"><span class="id" title="lemma">mxsimpleP</span></a> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxnonsimple"><span class="id" title="definition">mxnonsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a> <a class="idref" href="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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_module"><span class="id" title="lemma">mxsimple_module</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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_exists"><span class="id" title="lemma">mxsimple_exists</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">V</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.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_iso_simple"><span class="id" title="lemma">mx_iso_simple</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_cyclic"><span class="id" title="lemma">mxsimple_cyclic</span></a> <span class="id" title="var">u</span> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</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.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The surjective part of Schur's lemma.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="mx_Schur_onto"><span class="id" title="lemma">mx_Schur_onto</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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">V</span> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <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#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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The injective part of Schur's lemma.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="mx_Schur_inj"><span class="id" title="lemma">mx_Schur_inj</span></a> <span class="id" title="var">U</span> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <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#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The injectve part of Schur's lemma, stated as isomorphism with the image.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="mx_Schur_inj_iso"><span class="id" title="lemma">mx_Schur_inj_iso</span></a> <span class="id" title="var">U</span> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The isomorphism part of Schur's lemma.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="mx_Schur_iso"><span class="id" title="lemma">mx_Schur_iso</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ A boolean test for module isomorphism that is only valid for simple
+ modules; this is the only case that matters in practice.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="nz_row_mxsimple"><span class="id" title="lemma">nz_row_mxsimple</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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#nz_row"><span class="id" title="definition">nz_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</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">Definition</span> <a name="mxsimple_iso"><span class="id" title="definition">mxsimple_iso</span></a> (<span class="id" title="var">U</span> <span class="id" title="var">V</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>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">[&amp;&amp;</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.mxrepresentation.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#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#row_hom_mx"><span class="id" title="definition">row_hom_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#nz_row"><span class="id" title="definition">nz_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>))%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">&amp;</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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.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#2e9317c5f71a1305fb695cdc49716482"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_isoP"><span class="id" title="lemma">mxsimple_isoP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple_iso"><span class="id" title="definition">mxsimple_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_iso_simple"><span class="id" title="lemma">mxsimple_iso_simple</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple_iso"><span class="id" title="definition">mxsimple_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ For us, "semisimple" means "sum of simple modules"; this is classically,
+ but not intuitionistically, equivalent to the "completely reducible"
+ alternate characterization.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</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>.<br/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> (<span class="id" title="var">V</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>) :=<br/>
+&nbsp;&nbsp;<a name="MxSemisimple"><span class="id" title="constructor">MxSemisimple</span></a> <span class="id" title="var">I</span> <span class="id" title="var">U</span> (<span class="id" title="var">W</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>) <span class="id" title="keyword">of</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) &amp; (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> &amp; <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This is a slight generalization of Aschbacher 12.5 for finite sets.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="sum_mxsimple_direct_compl"><span class="id" title="lemma">sum_mxsimple_direct_compl</span></a> <span class="id" title="var">m</span> <span class="id" title="var">I</span> <span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">J</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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.mxrepresentation.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">|</span></a> <span class="id" title="keyword">let</span> <span class="id" title="var">S</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#J"><span class="id" title="variable">J</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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="sum_mxsimple_direct_sub"><span class="id" title="lemma">sum_mxsimple_direct_sub</span></a> <span class="id" title="var">I</span> <span class="id" title="var">W</span> (<span class="id" title="var">V</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>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">J</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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.mxrepresentation.html#I"><span class="id" title="variable">I</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">|</span></a> <span class="id" title="keyword">let</span> <span class="id" title="var">S</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#J"><span class="id" title="variable">J</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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="mxsemisimple0"><span class="id" title="lemma">mxsemisimple0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="intro_mxsemisimple"><span class="id" title="lemma">intro_mxsemisimple</span></a> (<span class="id" title="var">I</span> : <span class="id" title="keyword">Type</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.mxrepresentation.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">W</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<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">&lt;-</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</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.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_semisimple"><span class="id" title="lemma">mxsimple_semisimple</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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="addsmx_semisimple"><span class="id" title="lemma">addsmx_semisimple</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sumsmx_semisimple"><span class="id" title="lemma">sumsmx_semisimple</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqmx_semisimple"><span class="id" title="lemma">eqmx_semisimple</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_mxsemisimple"><span class="id" title="lemma">hom_mxsemisimple</span></a> (<span class="id" title="var">V</span> <span class="id" title="var">f</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>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsemisimple_module"><span class="id" title="lemma">mxsemisimple_module</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Completely reducible modules, and Maeschke's Theorem.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="mxsplits"><span class="id" title="inductive">mxsplits</span></a> (<span class="id" title="var">V</span> <span class="id" title="var">U</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>) :=<br/>
+&nbsp;&nbsp;<a name="MxSplits"><span class="id" title="constructor">MxSplits</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> &amp; (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> &amp; <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <span class="id" title="var">V</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">U</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsplits"><span class="id" title="inductive">mxsplits</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_reducibleS"><span class="id" title="lemma">mx_reducibleS</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_Maschke"><span class="id" title="lemma">mx_Maschke</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.mxrepresentation.html#FieldRepr.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.mxrepresentation.html#FieldRepr.OneRepresentation.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#mx_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsemisimple_reducible"><span class="id" title="lemma">mxsemisimple_reducible</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_reducible_semisimple"><span class="id" title="lemma">mx_reducible_semisimple</span></a> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsemisimpleS"><span class="id" title="lemma">mxsemisimpleS</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_mxsemisimple_iso"><span class="id" title="lemma">hom_mxsemisimple_iso</span></a> <span class="id" title="var">I</span> <span class="id" title="var">P</span> <span class="id" title="var">U</span> <span class="id" title="var">W</span> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">V</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</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.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">i</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The component associated to a given irreducible module.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.Components"><span class="id" title="section">Components</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="component_mx_key"><span class="id" title="lemma">component_mx_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="component_mx_expr"><span class="id" title="definition">component_mx_expr</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.character.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#row_hom_mx"><span class="id" title="definition">row_hom_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#nz_row"><span class="id" title="definition">nz_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>))))%<span class="id" title="var">MS</span>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="component_mx"><span class="id" title="definition">component_mx</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx_key"><span class="id" title="lemma">component_mx_key</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx_expr"><span class="id" title="definition">component_mx_expr</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">component_mx_unfoldable</span> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">unlockable</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">fun</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#58f94351327943cd874eb55da8e0ca14"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.Components.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>.<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.OneRepresentation.Components.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.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.OneRepresentation.Components.u"><span class="id" title="variable">u</span></a> := <a class="idref" href="mathcomp.algebra.matrix.html#nz_row"><span class="id" title="definition">nz_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.OneRepresentation.Components.iso_u"><span class="id" title="variable">iso_u</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#row_hom_mx"><span class="id" title="definition">row_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.u"><span class="id" title="variable">u</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.OneRepresentation.Components.nz_u"><span class="id" title="variable">nz_u</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 := <a class="idref" href="mathcomp.character.mxrepresentation.html#nz_row_mxsimple"><span class="id" title="lemma">nz_row_mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.simU"><span class="id" title="variable">simU</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.OneRepresentation.Components.Uu"><span class="id" title="variable">Uu</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.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.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#nz_row_sub"><span class="id" title="lemma">nz_row_sub</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.OneRepresentation.Components.defU"><span class="id" title="variable">defU</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#cyclic_mx"><span class="id" title="definition">cyclic_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.u"><span class="id" title="variable">u</span></a>)%<span class="id" title="var">MS</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple_cyclic"><span class="id" title="lemma">mxsimple_cyclic</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.simU"><span class="id" title="variable">simU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.nz_u"><span class="id" title="variable">nz_u</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.Uu"><span class="id" title="variable">Uu</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_mx_module"><span class="id" title="lemma">component_mx_module</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.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_component"><span class="id" title="lemma">genmx_component</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.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#compU"><span class="id" title="abbreviation">compU</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_mx_def"><span class="id" title="lemma">component_mx_def</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">I</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">W</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><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="component_mx_semisimple"><span class="id" title="lemma">component_mx_semisimple</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_iso_component"><span class="id" title="lemma">mx_iso_component</span></a> <span class="id" title="var">V</span> : <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.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_mx_id"><span class="id" title="lemma">component_mx_id</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.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.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_component_mx_iso"><span class="id" title="lemma">hom_component_mx_iso</span></a> <span class="id" title="var">f</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#compU"><span class="id" title="abbreviation">compU</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_mx_iso"><span class="id" title="lemma">component_mx_iso</span></a> <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.mxrepresentation.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#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.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</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.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="hom_component_mx"><span class="id" title="lemma">hom_component_mx</span></a> <span class="id" title="var">f</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</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.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="abbreviation">compU</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Components"><span class="id" title="section">Components</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_mx_isoP"><span class="id" title="lemma">component_mx_isoP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_mx_disjoint"><span class="id" title="lemma">component_mx_disjoint</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.Socle"><span class="id" title="section">Socle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Record</span> <a name="socleType"><span class="id" title="record">socleType</span></a> := <a name="EnumSocle"><span class="id" title="constructor">EnumSocle</span></a> {<br/>
+&nbsp;&nbsp;<a name="socle_base_enum"><span class="id" title="projection">socle_base_enum</span></a> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">M</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.mxrepresentation.html#socle_base_enum"><span class="id" title="method">socle_base_enum</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#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>;<br/>
+&nbsp;&nbsp;<span class="id" title="var">_</span> : <span class="id" title="keyword">∀</span> <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.mxrepresentation.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.ssreflect.seq.html#has"><span class="id" title="definition">has</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple_iso"><span class="id" title="definition">mxsimple_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_base_enum"><span class="id" title="method">socle_base_enum</span></a><br/>
+}.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="socle_exists"><span class="id" title="lemma">socle_exists</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.Socle.SocleDef"><span class="id" title="section">SocleDef</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.Socle.SocleDef.sG0"><span class="id" title="variable">sG0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_enum"><span class="id" title="definition">socle_enum</span></a> := <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_base_enum"><span class="id" title="projection">socle_base_enum</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.SocleDef.sG0"><span class="id" title="variable">sG0</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="component_socle"><span class="id" title="lemma">component_socle</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.mxrepresentation.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.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#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.mxrepresentation.html#socle_enum"><span class="id" title="definition">socle_enum</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Inductive</span> <a name="socle_sort"><span class="id" title="inductive">socle_sort</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#predArgType"><span class="id" title="definition">predArgType</span></a> := <a name="PackSocle"><span class="id" title="constructor">PackSocle</span></a> <span class="id" title="var">W</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_enum"><span class="id" title="definition">socle_enum</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_base"><span class="id" title="definition">socle_base</span></a> <span class="id" title="var">W</span> := <span class="id" title="keyword">let</span>: <a class="idref" href="mathcomp.character.mxrepresentation.html#PackSocle"><span class="id" title="constructor">PackSocle</span></a> <span class="id" title="var">W</span> <span class="id" title="var">_</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#e0"><span class="id" title="abbreviation">e0</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#index"><span class="id" title="definition">index</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_enum"><span class="id" title="definition">socle_enum</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Coercion</span> <span class="id" title="var">socle_val</span> <span class="id" title="var">W</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.character.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_mult"><span class="id" title="definition">socle_mult</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#df17451da28eb630dbb51b12706ba39e"><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.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="socle_simple"><span class="id" title="lemma">socle_simple</span></a> <span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_module"><span class="id" title="definition">socle_module</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a>) := <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple_module"><span class="id" title="lemma">mxsimple_module</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_simple"><span class="id" title="lemma">socle_simple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_repr"><span class="id" title="definition">socle_repr</span></a> <span class="id" title="var">W</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_module"><span class="id" title="definition">socle_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="nz_socle"><span class="id" title="lemma">nz_socle</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="mathcomp.ssreflect.eqtype.html#9e45f909d1732d6d9e153b650829bccf"><span class="id" title="notation">:&gt;</span></a> <a class="idref" href="mathcomp.algebra.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="socle_mem"><span class="id" title="lemma">socle_mem</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</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="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#4509b22bf26e3d6d771897e22bd8bc8f"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.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">\</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.mxrepresentation.html#socle_enum"><span class="id" title="definition">socle_enum</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="PackSocleK"><span class="id" title="lemma">PackSocleK</span></a> <span class="id" title="var">W</span> <span class="id" title="var">e0W</span> : @<a class="idref" href="mathcomp.character.mxrepresentation.html#PackSocle"><span class="id" title="constructor">PackSocle</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e0W"><span class="id" title="variable">e0W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#8f9364556521ebb498093f28eea2240f"><span class="id" title="notation">:&gt;</span></a> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_subType</span> := <a class="idref" href="mathcomp.ssreflect.eqtype.html#SubType"><span class="id" title="constructor">SubType</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_sort_rect"><span class="id" title="definition">socle_sort_rect</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#PackSocleK"><span class="id" title="lemma">PackSocleK</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_eqMixin"><span class="id" title="definition">socle_eqMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_eqMixin"><span class="id" title="definition">socle_eqMixin</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_choiceMixin"><span class="id" title="definition">socle_choiceMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_choiceType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_choiceMixin"><span class="id" title="definition">socle_choiceMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="socleP"><span class="id" title="lemma">socleP</span></a> (<span class="id" title="var">W</span> <span class="id" title="var">W'</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</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#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W'"><span class="id" title="variable">W'</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5e36479739860cd244bd34c609f10109"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W'"><span class="id" title="variable">W'</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="socle_finType_subproof"><span class="id" title="lemma">socle_finType_subproof</span></a> :<br/>
+&nbsp;&nbsp;<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> (<span class="id" title="keyword">fun</span> <span class="id" title="var">W</span> ⇒ <a class="idref" href="mathcomp.ssreflect.fintype.html#SeqSub"><span class="id" title="constructor">SeqSub</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_mem"><span class="id" title="lemma">socle_mem</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)) (<span class="id" title="keyword">fun</span> <span class="id" title="var">s</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#PackSocle"><span class="id" title="constructor">PackSocle</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#valP"><span class="id" title="lemma">valP</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#s"><span class="id" title="variable">s</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_countMixin"><span class="id" title="definition">socle_countMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#CanCountMixin"><span class="id" title="definition">CanCountMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_finType_subproof"><span class="id" title="lemma">socle_finType_subproof</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_countType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_countMixin"><span class="id" title="definition">socle_countMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_subCountType</span> := <a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">subCountType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="socle_finMixin"><span class="id" title="definition">socle_finMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#CanFinMixin"><span class="id" title="definition">CanFinMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_finType_subproof"><span class="id" title="lemma">socle_finType_subproof</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_finType</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinType"><span class="id" title="abbreviation">FinType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_finMixin"><span class="id" title="definition">socle_finMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">socle_subFinType</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">subFinType</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="abbreviation">sG</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.SocleDef"><span class="id" title="section">SocleDef</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Coercion</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_sort"><span class="id" title="inductive">socle_sort</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_sort"><span class="id" title="inductive">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_sort"><span class="id" title="inductive">socleType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_sort"><span class="id" title="inductive">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_sort"><span class="id" title="inductive">predArgType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.Socle.SubSocle"><span class="id" title="section">SubSocle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.Socle.SubSocle.P"><span class="id" title="variable">P</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="S"><span class="id" title="abbreviation">S</span></a> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">(</span></a><span class="id" title="var">W</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.SubSocle.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_val"><span class="id" title="definition">socle_val</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subSocle_module"><span class="id" title="lemma">subSocle_module</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.mxrepresentation.html#S"><span class="id" title="abbreviation">S</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subSocle_semisimple"><span class="id" title="lemma">subSocle_semisimple</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#S"><span class="id" title="abbreviation">S</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subSocle_iso"><span class="id" title="lemma">subSocle_iso</span></a> <span class="id" title="var">M</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#S"><span class="id" title="abbreviation">S</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">W</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.SubSocle.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</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.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="capmx_subSocle"><span class="id" title="lemma">capmx_subSocle</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">M</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#S"><span class="id" title="abbreviation">S</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">(</span></a><span class="id" title="var">W</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.SubSocle.P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.SubSocle"><span class="id" title="section">SubSocle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subSocle_direct"><span class="id" title="lemma">subSocle_direct</span></a> <span class="id" title="var">P</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">(</span></a><span class="id" title="var">W</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#eb45384230c3de55a7664b9c512bf78a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Socle"><span class="id" title="definition">Socle</span></a> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">(</span></a><span class="id" title="var">W</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="simple_Socle"><span class="id" title="lemma">simple_Socle</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.mxrepresentation.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.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="semisimple_Socle"><span class="id" title="lemma">semisimple_Socle</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="reducible_Socle"><span class="id" title="lemma">reducible_Socle</span></a> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="genmx_Socle"><span class="id" title="lemma">genmx_Socle</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.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#Socle"><span class="id" title="definition">Socle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="reducible_Socle1"><span class="id" title="lemma">reducible_Socle1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_completely_reducible"><span class="id" title="definition">mx_completely_reducible</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Socle_module"><span class="id" title="lemma">Socle_module</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.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Socle_semisimple"><span class="id" title="lemma">Socle_semisimple</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Socle_direct"><span class="id" title="lemma">Socle_direct</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.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Socle_iso"><span class="id" title="lemma">Socle_iso</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.mxrepresentation.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">W</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle.sG"><span class="id" title="variable">sG</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.Socle"><span class="id" title="section">Socle</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Centralizer subgroup and central homomorphisms.
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.OneRepresentation.CentHom"><span class="id" title="section">CentHom</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.OneRepresentation.CentHom.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><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="row_full_dom_hom"><span class="id" title="lemma">row_full_dom_hom</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="memmx_cent_envelop"><span class="id" title="lemma">memmx_cent_envelop</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.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#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="kermx_centg_module"><span class="id" title="lemma">kermx_centg_module</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="centgmx_hom"><span class="id" title="lemma">centgmx_hom</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.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.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom.f"><span class="id" title="variable">f</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.CentHom"><span class="id" title="section">CentHom</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ (Globally) irreducible, and absolutely irreducible representations. Note
+ that unlike "reducible", "absolutely irreducible" can easily be decided.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_irrP"><span class="id" title="lemma">mx_irrP</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_irreducible"><span class="id" title="definition">mx_irreducible</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#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">U</span>, @<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Schur's lemma for endomorphisms.
+</div>
+<div class="code">
+<span class="id" title="keyword">Lemma</span> <a name="mx_Schur"><span class="id" title="lemma">mx_Schur</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">f</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <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#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_abs_irrP"><span class="id" title="lemma">mx_abs_irrP</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">a_</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a_"><span class="id" title="variable">a_</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_abs_irr_cent_scalar"><span class="id" title="lemma">mx_abs_irr_cent_scalar</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">A</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#is_scalar_mx"><span class="id" title="definition">is_scalar_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_abs_irrW"><span class="id" title="lemma">mx_abs_irrW</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</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_irreducible"><span class="id" title="definition">mx_irreducible</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="linear_mx_abs_irr"><span class="id" title="lemma">linear_mx_abs_irr</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="abelian_abs_irr"><span class="id" title="lemma">abelian_abs_irr</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation.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#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="http://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.mxrepresentation.html#FieldRepr.OneRepresentation.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">N</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Proper"><span class="id" title="section">Proper</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Proper.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="FieldRepr.Proper.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.mxrepresentation.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="FieldRepr.Proper.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="FieldRepr.Proper.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Proper.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="abbreviation">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="envelop_mx_ring"><span class="id" title="lemma">envelop_mx_ring</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring"><span class="id" title="definition">mxring</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Proper.rG"><span class="id" title="variable">rG</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Proper"><span class="id" title="section">Proper</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.JacobsonDensity"><span class="id" title="section">JacobsonDensity</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.JacobsonDensity.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="FieldRepr.JacobsonDensity.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.mxrepresentation.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="FieldRepr.JacobsonDensity.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="FieldRepr.JacobsonDensity.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JacobsonDensity.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JacobsonDensity.n"><span class="id" title="variable">n</span></a>.<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.JacobsonDensity.irrG"><span class="id" title="variable">irrG</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.mxrepresentation.html#FieldRepr.JacobsonDensity.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_Jacobson_density"><span class="id" title="lemma">mx_Jacobson_density</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#Hom_G"><span class="id" title="abbreviation">Hom_G</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#e5b97b8191a3f5cf8ea44049784b107f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cent_mx_scalar_abs_irr"><span class="id" title="lemma">cent_mx_scalar_abs_irr</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.mxrepresentation.html#Hom_G"><span class="id" title="abbreviation">Hom_G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><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.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JacobsonDensity.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JacobsonDensity"><span class="id" title="section">JacobsonDensity</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.ChangeGroup"><span class="id" title="section">ChangeGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.ChangeGroup.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="FieldRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a> <a name="FieldRepr.ChangeGroup.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.mxrepresentation.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="FieldRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.ChangeGroup.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.ChangeGroup.SubGroup"><span class="id" title="section">SubGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.ChangeGroup.SubGroup.sHG"><span class="id" title="variable">sHG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.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.mxrepresentation.html#FieldRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_subg"><span class="id" title="lemma">rfix_subg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="http://coq.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#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.ChangeGroup.SubGroup.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.ChangeGroup.SubGroup.Stabilisers.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="FieldRepr.ChangeGroup.SubGroup.Stabilisers.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#FieldRepr.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_subg"><span class="id" title="lemma">rstabs_subg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SubGroup.Stabilisers.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#FieldRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</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.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SubGroup.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_subg"><span class="id" title="lemma">mxmodule_subg</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.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SubGroup.Stabilisers.U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SubGroup.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SubGroup.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_subg"><span class="id" title="lemma">mxsimple_subg</span></a> <span class="id" title="var">M</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subg_mx_irr"><span class="id" title="lemma">subg_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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="subg_mx_abs_irr"><span class="id" title="lemma">subg_mx_abs_irr</span></a> :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SubGroup"><span class="id" title="section">SubGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.ChangeGroup.SameGroup"><span class="id" title="section">SameGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.ChangeGroup.SameGroup.eqGH"><span class="id" title="variable">eqGH</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.H"><span class="id" title="variable">H</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_eqg"><span class="id" title="lemma">rfix_eqg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="http://coq.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#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.ChangeGroup.SameGroup.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.ChangeGroup.SameGroup.Stabilisers.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="FieldRepr.ChangeGroup.SameGroup.Stabilisers.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#FieldRepr.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.ChangeGroup.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_eqg"><span class="id" title="lemma">rstabs_eqg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SameGroup.Stabilisers.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#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SameGroup.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_eqg"><span class="id" title="lemma">mxmodule_eqg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SameGroup.Stabilisers.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.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SameGroup.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SameGroup.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_eqg"><span class="id" title="lemma">mxsimple_eqg</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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqg_mx_irr"><span class="id" title="lemma">eqg_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.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</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#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eqg_mx_abs_irr"><span class="id" title="lemma">eqg_mx_abs_irr</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rH"><span class="id" title="abbreviation">rH</span></a> <a class="idref" href="http://coq.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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup.SameGroup"><span class="id" title="section">SameGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.ChangeGroup"><span class="id" title="section">ChangeGroup</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Morphpre"><span class="id" title="section">Morphpre</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Morphpre.aT"><span class="id" title="variable">aT</span></a> <a name="FieldRepr.Morphpre.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="FieldRepr.Morphpre.D"><span class="id" title="variable">D</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.mxrepresentation.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="FieldRepr.Morphpre.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Morphpre.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.mxrepresentation.html#FieldRepr.Morphpre.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="FieldRepr.Morphpre.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="FieldRepr.Morphpre.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Morphpre.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Morphpre.Stabilisers.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="FieldRepr.Morphpre.Stabilisers.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#FieldRepr.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Morphpre.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_morphpre"><span class="id" title="lemma">rstabs_morphpre</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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.Stabilisers.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#FieldRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><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.mxrepresentation.html#FieldRepr.Morphpre.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.Stabilisers.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_morphpre"><span class="id" title="lemma">mxmodule_morphpre</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.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.character.mxrepresentation.html#FieldRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.Stabilisers.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.mxrepresentation.html#FieldRepr.Morphpre.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_morphpre"><span class="id" title="lemma">rfix_morphpre</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.mxrepresentation.html#FieldRepr.Morphpre.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Morphpre.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphpre_mx_irr"><span class="id" title="lemma">morphpre_mx_irr</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.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.character.mxrepresentation.html#FieldRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</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#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphpre_mx_abs_irr"><span class="id" title="lemma">morphpre_mx_abs_irr</span></a> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.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.character.mxrepresentation.html#FieldRepr.Morphpre.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="http://coq.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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphpre"><span class="id" title="section">Morphpre</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Morphim"><span class="id" title="section">Morphim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Morphim.aT"><span class="id" title="variable">aT</span></a> <a name="FieldRepr.Morphim.rT"><span class="id" title="variable">rT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>) (<a name="FieldRepr.Morphim.G"><span class="id" title="variable">G</span></a> <a name="FieldRepr.Morphim.D"><span class="id" title="variable">D</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.mxrepresentation.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="FieldRepr.Morphim.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Morphim.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="FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Morphim.sGD"><span class="id" title="variable">sGD</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.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.character.mxrepresentation.html#FieldRepr.Morphim.D"><span class="id" title="variable">D</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Morphim.sG_f'fG"><span class="id" title="variable">sG_f'fG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.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.character.mxrepresentation.html#FieldRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Morphim.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Morphim.Stabilisers.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="FieldRepr.Morphim.Stabilisers.U"><span class="id" title="variable">U</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.character.mxrepresentation.html#FieldRepr.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Morphim.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_morphim"><span class="id" title="lemma">rstabs_morphim</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.mxrepresentation.html#rG"><span class="id" title="abbreviation">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.Stabilisers.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#FieldRepr.Morphim.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</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.mxrepresentation.html#FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_morphim"><span class="id" title="lemma">mxmodule_morphim</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.mxrepresentation.html#rG"><span class="id" title="abbreviation">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.Stabilisers.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.mxrepresentation.html#FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.Stabilisers.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.Stabilisers"><span class="id" title="section">Stabilisers</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_morphim"><span class="id" title="lemma">rfix_morphim</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.mxrepresentation.html#FieldRepr.Morphim.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Morphim.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="abbreviation">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_morphim"><span class="id" title="lemma">mxsimple_morphim</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.mxrepresentation.html#rG"><span class="id" title="abbreviation">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphim_mx_irr"><span class="id" title="lemma">morphim_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.mxrepresentation.html#rG"><span class="id" title="abbreviation">rG</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#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="morphim_mx_abs_irr"><span class="id" title="lemma">morphim_mx_abs_irr</span></a> : <br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="abbreviation">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.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim.rGf"><span class="id" title="variable">rGf</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Morphim"><span class="id" title="section">Morphim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Submodule"><span class="id" title="section">Submodule</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Submodule.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="FieldRepr.Submodule.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.mxrepresentation.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="FieldRepr.Submodule.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Submodule.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.n"><span class="id" title="variable">n</span></a>) (<a name="FieldRepr.Submodule.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) (<a name="FieldRepr.Submodule.Umod"><span class="id" title="variable">Umod</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.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_submod"><span class="id" title="lemma">rfix_submod</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.mxrepresentation.html#FieldRepr.Submodule.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Submodule.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.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_factmod"><span class="id" title="lemma">rfix_factmod</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.mxrepresentation.html#FieldRepr.Submodule.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Submodule.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#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><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.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_submod"><span class="id" title="lemma">rstab_submod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_submod"><span class="id" title="lemma">rstabs_submod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_submod_module"><span class="id" title="lemma">val_submod_module</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#val_submod"><span class="id" title="definition">val_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_submod_module"><span class="id" title="lemma">in_submod_module</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">V</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Submodule.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_factmod"><span class="id" title="lemma">rstab_factmod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Submodule.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_factmod"><span class="id" title="lemma">rstabs_factmod</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_factmod_module"><span class="id" title="lemma">val_factmod_module</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">W</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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.algebra.mxalgebra.html#cokermx"><span class="id" title="definition">cokermx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#val_factmod"><span class="id" title="definition">val_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="in_factmod_module"><span class="id" title="lemma">in_factmod_module</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">V</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Submodule.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_submod"><span class="id" title="lemma">rker_submod</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.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_norm"><span class="id" title="lemma">rstab_norm</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_normal"><span class="id" title="lemma">rstab_normal</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation">&lt;|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submod_mx_faithful"><span class="id" title="lemma">submod_mx_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.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_factmod"><span class="id" title="lemma">rker_factmod</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</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.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="factmod_mx_faithful"><span class="id" title="lemma">factmod_mx_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.mxrepresentation.html#rU'"><span class="id" title="abbreviation">rU'</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="submod_mx_irr"><span class="id" title="lemma">submod_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.mxrepresentation.html#rU"><span class="id" title="abbreviation">rU</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.mxrepresentation.html#FieldRepr.Submodule.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule.U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Submodule"><span class="id" title="section">Submodule</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Conjugate"><span class="id" title="section">Conjugate</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Conjugate.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="FieldRepr.Conjugate.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.mxrepresentation.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="FieldRepr.Conjugate.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Conjugate.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.n"><span class="id" title="variable">n</span></a>) (<a name="FieldRepr.Conjugate.B"><span class="id" title="variable">B</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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Conjugate.uB"><span class="id" title="variable">uB</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#46c9e8232fa09401e24f1934bb65029f"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#unitmx"><span class="id" title="definition">unitmx</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_conj"><span class="id" title="lemma">rfix_conj</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.mxrepresentation.html#FieldRepr.Conjugate.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/>
+&nbsp;&nbsp;&nbsp;(<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.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Conjugate.B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.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="rstabs_conj"><span class="id" title="lemma">rstabs_conj</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Conjugate.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.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Conjugate.B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_conj"><span class="id" title="lemma">mxmodule_conj</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Conjugate.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.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Conjugate.B"><span class="id" title="variable">B</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="conj_mx_irr"><span class="id" title="lemma">conj_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.mxrepresentation.html#rGB"><span class="id" title="abbreviation">rGB</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#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Conjugate"><span class="id" title="section">Conjugate</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Quotient"><span class="id" title="section">Quotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Quotient.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="FieldRepr.Quotient.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.mxrepresentation.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="FieldRepr.Quotient.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Quotient.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.n"><span class="id" title="variable">n</span></a>) (<a name="FieldRepr.Quotient.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.mxrepresentation.html#FieldRepr.Quotient.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="FieldRepr.Quotient.krH"><span class="id" title="variable">krH</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.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.mxrepresentation.html#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>) (<a name="FieldRepr.Quotient.nHG"><span class="id" title="variable">nHG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.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.mxrepresentation.html#FieldRepr.Quotient.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Quotient.nHGs"><span class="id" title="variable">nHGs</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#subsetP"><span class="id" title="lemma">subsetP</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.nHG"><span class="id" title="variable">nHG</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="quo_mx_quotient"><span class="id" title="lemma">quo_mx_quotient</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#E_"><span class="id" title="abbreviation">E_</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_"><span class="id" title="abbreviation">E_</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_quo"><span class="id" title="lemma">rfix_quo</span></a> (<span class="id" title="var">K</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.mxrepresentation.html#FieldRepr.Quotient.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#K"><span class="id" title="variable">K</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#FieldRepr.Quotient.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.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><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.mxrepresentation.html#FieldRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#K"><span class="id" title="variable">K</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_quo"><span class="id" title="lemma">rstabs_quo</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Quotient.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.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">g</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_quo"><span class="id" title="lemma">mxmodule_quo</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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Quotient.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.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Quotient.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="quo_mx_irr"><span class="id" title="lemma">quo_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.mxrepresentation.html#rGH"><span class="id" title="abbreviation">rGH</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#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Quotient"><span class="id" title="section">Quotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.SplittingField"><span class="id" title="section">SplittingField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <span class="id" title="var">gT</span> (<span class="id" title="var">G</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.mxrepresentation.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/>
+&nbsp;&nbsp;<span class="id" title="keyword">∀</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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>),<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="group_closure_field"><span class="id" title="definition">group_closure_field</span></a> <span class="id" title="var">gT</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">G</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.mxrepresentation.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 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.mxrepresentation.html#G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="quotient_splitting_field"><span class="id" title="lemma">quotient_splitting_field</span></a> <span class="id" title="var">gT</span> (<span class="id" title="var">G</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.mxrepresentation.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>) (<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.mxrepresentation.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#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.mxrepresentation.html#H"><span class="id" title="variable">H</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</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.mxrepresentation.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#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#8801253978f4673894d0abd8a04faa8d"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="coset_splitting_field"><span class="id" title="lemma">coset_splitting_field</span></a> <span class="id" title="var">gT</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.mxrepresentation.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#group_closure_field"><span class="id" title="definition">group_closure_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#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.mxrepresentation.html#group_closure_field"><span class="id" title="definition">group_closure_field</span></a> (<a class="idref" href="mathcomp.fingroup.quotient.html#coset_groupType"><span class="id" title="definition">coset_groupType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.SplittingField"><span class="id" title="section">SplittingField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Abelian"><span class="id" title="section">Abelian</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Abelian.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="FieldRepr.Abelian.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.mxrepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_faithful_irr_center_cyclic"><span class="id" title="lemma">mx_faithful_irr_center_cyclic</span></a> <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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#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.cyclic.html#cyclic"><span class="id" title="definition">cyclic</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.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_faithful_irr_abelian_cyclic"><span class="id" title="lemma">mx_faithful_irr_abelian_cyclic</span></a> <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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#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.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.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.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Abelian.splitG"><span class="id" title="variable">splitG</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.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_irr_abelian_linear"><span class="id" title="lemma">mx_irr_abelian_linear</span></a> <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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#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.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.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#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_abelian_linear"><span class="id" title="lemma">mxsimple_abelian_linear</span></a> <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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">M</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.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#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.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> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="linear_mxsimple"><span class="id" title="lemma">linear_mxsimple</span></a> <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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) (<span class="id" title="var">M</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>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.mxrepresentation.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> 1%<span class="id" title="var">N</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#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Abelian"><span class="id" title="section">Abelian</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.AbelianQuotient"><span class="id" title="section">AbelianQuotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.AbelianQuotient.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="FieldRepr.AbelianQuotient.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.mxrepresentation.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">Variables</span> (<a name="FieldRepr.AbelianQuotient.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="FieldRepr.AbelianQuotient.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.AbelianQuotient.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="center_kquo_cyclic"><span class="id" title="lemma">center_kquo_cyclic</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.mxrepresentation.html#FieldRepr.AbelianQuotient.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.cyclic.html#cyclic"><span class="id" title="definition">cyclic</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.mxrepresentation.html#FieldRepr.AbelianQuotient.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><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.mxrepresentation.html#FieldRepr.AbelianQuotient.rG"><span class="id" title="variable">rG</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>%<span class="id" title="var">g</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="der1_sub_rker"><span class="id" title="lemma">der1_sub_rker</span></a> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.AbelianQuotient.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#mx_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.AbelianQuotient.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><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.AbelianQuotient.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a>1<a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><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.mxrepresentation.html#FieldRepr.AbelianQuotient.rG"><span class="id" title="variable">rG</span></a>)%<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="mathcomp.character.mxrepresentation.html#FieldRepr.AbelianQuotient.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.AbelianQuotient"><span class="id" title="section">AbelianQuotient</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Similarity"><span class="id" title="section">Similarity</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Similarity.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="FieldRepr.Similarity.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.mxrepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">CoInductive</span> <a name="mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> <span class="id" title="var">n1</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) <span class="id" title="var">n2</span> (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) : <span class="id" title="keyword">Prop</span> :=<br/>
+&nbsp;&nbsp;<a name="MxReprSim"><span class="id" title="constructor">MxReprSim</span></a> <span class="id" title="var">B</span> <span class="id" title="keyword">of</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="http://coq.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#n2"><span class="id" title="variable">n2</span></a> &amp; <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp; <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Similarity.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#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxrank_rsim"><span class="id" title="lemma">mxrank_rsim</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="http://coq.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#n2"><span class="id" title="variable">n2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_refl"><span class="id" title="lemma">mx_rsim_refl</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">rG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</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.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_sym"><span class="id" title="lemma">mx_rsim_sym</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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_rsim"><span class="id" title="inductive">mx_rsim</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_trans"><span class="id" title="lemma">mx_rsim_trans</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">n3</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) (<span class="id" title="var">rG3</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n3"><span class="id" title="variable">n3</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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_rsim"><span class="id" title="inductive">mx_rsim</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG3"><span class="id" title="variable">rG3</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_rsim"><span class="id" title="inductive">mx_rsim</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG3"><span class="id" title="variable">rG3</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_def"><span class="id" title="lemma">mx_rsim_def</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">B</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="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">B'</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.character.mxrepresentation.html#B'"><span class="id" title="variable">B'</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#28b18e493f7cb0bd8447607bdc385ff8"><span class="id" title="notation">&amp;</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Similarity.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#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#B'"><span class="id" title="variable">B'</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_iso"><span class="id" title="lemma">mx_rsim_iso</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">rG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) (<span class="id" title="var">U</span> <span class="id" title="var">V</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>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</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#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_irr"><span class="id" title="lemma">mx_rsim_irr</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_abs_irr"><span class="id" title="lemma">mx_rsim_abs_irr</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="http://coq.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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_mx_rsim"><span class="id" title="lemma">rker_mx_rsim</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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#rker"><span class="id" title="definition">rker</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_faithful"><span class="id" title="lemma">mx_rsim_faithful</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_factmod"><span class="id" title="lemma">mx_rsim_factmod</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">rG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">U</span> <span class="id" title="var">V</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span> <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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_rsim"><span class="id" title="lemma">mxtrace_rsim</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Similarity.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_scalar"><span class="id" title="lemma">mx_rsim_scalar</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> (<span class="id" title="var">rG1</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a>) (<span class="id" title="var">rG2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#reprG"><span class="id" title="abbreviation">reprG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a>) <span class="id" title="var">x</span> <span class="id" title="var">c</span> :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Similarity.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#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#c"><span class="id" title="variable">c</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="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#rG2"><span class="id" title="variable">rG2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#c"><span class="id" title="variable">c</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/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Similarity"><span class="id" title="section">Similarity</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Socle"><span class="id" title="section">Socle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Socle.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="FieldRepr.Socle.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.mxrepresentation.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">Variables</span> (<a name="FieldRepr.Socle.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="FieldRepr.Socle.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) (<a name="FieldRepr.Socle.sG"><span class="id" title="variable">sG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="socle_irr"><span class="id" title="lemma">socle_irr</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.sG"><span class="id" title="variable">sG</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.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="socle_rsimP"><span class="id" title="lemma">socle_rsimP</span></a> (<span class="id" title="var">W1</span> <span class="id" title="var">W2</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.sG"><span class="id" title="variable">sG</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W1"><span class="id" title="variable">W1</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W2"><span class="id" title="variable">W2</span></a>)) (<a class="idref" href="mathcomp.character.mxrepresentation.html#W1"><span class="id" title="variable">W1</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W2"><span class="id" title="variable">W2</span></a>).<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_in_submod"><span class="id" title="lemma">mx_rsim_in_submod</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">U'</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#in_submod"><span class="id" title="definition">in_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="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">modU'</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</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.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU'"><span class="id" title="variable">modU'</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rsim_submod1"><span class="id" title="lemma">rsim_submod1</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) : (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span> <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_rsim"><span class="id" title="inductive">mx_rsim</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_submod1"><span class="id" title="lemma">mxtrace_submod1</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_dadd_mod"><span class="id" title="lemma">mxtrace_dadd_mod</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) (<span class="id" title="var">modW</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Socle.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#ae4d81913e6239182a9ac7467ffde8cd"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modW"><span class="id" title="variable">modW</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_dsum_mod"><span class="id" title="lemma">mxtrace_dsum_mod</span></a> (<span class="id" title="var">I</span> : <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.finType"><span class="id" title="abbreviation">finType</span></a>) (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#I"><span class="id" title="variable">I</span></a>) <span class="id" title="var">U</span> <span class="id" title="var">W</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">modU</span> : <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)) (<span class="id" title="var">modW</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mG"><span class="id" title="abbreviation">mG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</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.mxrepresentation.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/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Socle.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#622398b62523a74328f94700e42198d0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modW"><span class="id" title="variable">modW</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_component"><span class="id" title="lemma">mxtrace_component</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">simU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">modV</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx_module"><span class="id" title="lemma">component_mx_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">modU</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple_module"><span class="id" title="lemma">mxsimple_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#simU"><span class="id" title="variable">simU</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Socle.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#df17451da28eb630dbb51b12706ba39e"><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.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_Socle"><span class="id" title="lemma">mxtrace_Socle</span></a> : <span class="id" title="keyword">let</span> <span class="id" title="var">modS</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#Socle_module"><span class="id" title="lemma">Socle_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.sG"><span class="id" title="variable">sG</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Socle.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sr"><span class="id" title="abbreviation">sr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modS"><span class="id" title="variable">modS</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#7c248898732684ddfab856fc78d32a15"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7c248898732684ddfab856fc78d32a15"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7c248898732684ddfab856fc78d32a15"><span class="id" title="notation">(</span></a><span class="id" title="var">W</span> <a class="idref" href="mathcomp.algebra.ssralg.html#7c248898732684ddfab856fc78d32a15"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle.sG"><span class="id" title="variable">sG</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#7c248898732684ddfab856fc78d32a15"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_mult"><span class="id" title="definition">socle_mult</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Socle"><span class="id" title="section">Socle</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Clifford"><span class="id" title="section">Clifford</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Clifford.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="FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a> <a name="FieldRepr.Clifford.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.mxrepresentation.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">Hypothesis</span> <a name="FieldRepr.Clifford.nsHG"><span class="id" title="variable">nsHG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation">&lt;|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a>.<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Clifford.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="FieldRepr.Clifford.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Clifford.sHG"><span class="id" title="variable">sHG</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#normal_sub"><span class="id" title="lemma">normal_sub</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.nsHG"><span class="id" title="variable">nsHG</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Clifford.nHG"><span class="id" title="variable">nHG</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#normal_norm"><span class="id" title="lemma">normal_norm</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.nsHG"><span class="id" title="variable">nsHG</span></a>.<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Clifford.rH"><span class="id" title="variable">rH</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.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sHG"><span class="id" title="variable">sHG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_simple"><span class="id" title="lemma">Clifford_simple</span></a> <span class="id" title="var">M</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.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#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_hom"><span class="id" title="lemma">Clifford_hom</span></a> <span class="id" title="var">x</span> <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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.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.mxrepresentation.html#FieldRepr.Clifford.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> <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#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.mxrepresentation.html#dom_hom_mx"><span class="id" title="definition">dom_hom_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_iso"><span class="id" title="lemma">Clifford_iso</span></a> <span class="id" title="var">x</span> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.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.mxrepresentation.html#FieldRepr.Clifford.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> <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.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_iso2"><span class="id" title="lemma">Clifford_iso2</span></a> <span class="id" title="var">x</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#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.mxrepresentation.html#FieldRepr.Clifford.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#mx_iso"><span class="id" title="inductive">mx_iso</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_componentJ"><span class="id" title="lemma">Clifford_componentJ</span></a> <span class="id" title="var">M</span> <span class="id" title="var">x</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.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><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#component_mx"><span class="id" title="definition">component_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Clifford.irrG"><span class="id" title="variable">irrG</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.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_basis"><span class="id" title="lemma">Clifford_basis</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.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">X</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.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.mxrepresentation.html#FieldRepr.Clifford.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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#X"><span class="id" title="variable">X</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#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">S</span> := <a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#1aeb4e1e3c663187981498cfc7be766c"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.character.mxrepresentation.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> 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#d82a7d96d3659d805ffe732283716822"><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.mxrepresentation.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.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Clifford_act"><span class="id" title="definition">Clifford_act</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a>) <span class="id" title="var">x</span> :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">Gx</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#subgP"><span class="id" title="lemma">subgP</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.mxrepresentation.html#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#PackSocle"><span class="id" title="constructor">PackSocle</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#component_socle"><span class="id" title="lemma">component_socle</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#Clifford_simple"><span class="id" title="lemma">Clifford_simple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_simple"><span class="id" title="lemma">socle_simple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#Gx"><span class="id" title="variable">Gx</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Clifford.valWact"><span class="id" title="variable">valWact</span></a> <span class="id" title="var">W</span> <span class="id" title="var">x</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#Clifford_act"><span class="id" title="definition">Clifford_act</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#sgval"><span class="id" title="definition">sgval</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.mxrepresentation.html#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="Clifford_is_action"><span class="id" title="lemma">Clifford_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.mxrepresentation.html#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Clifford_act"><span class="id" title="definition">Clifford_act</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Clifford_action"><span class="id" title="definition">Clifford_action</span></a> := <a class="idref" href="mathcomp.fingroup.action.html#Action"><span class="id" title="constructor">Action</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Clifford_is_action"><span class="id" title="lemma">Clifford_is_action</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="val_Clifford_act"><span class="id" title="lemma">val_Clifford_act</span></a> <span class="id" title="var">W</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Clifford.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#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">Cl</span></a>%<span class="id" title="var">act</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_atrans"><span class="id" title="lemma">Clifford_atrans</span></a> : <a class="idref" href="mathcomp.fingroup.action.html#ad5f1da050fedbae022d48bb21530fba"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.action.html#ad5f1da050fedbae022d48bb21530fba"><span class="id" title="notation">transitive</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.action.html#ad5f1da050fedbae022d48bb21530fba"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.action.html#ad5f1da050fedbae022d48bb21530fba"><span class="id" title="notation">on</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.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.fingroup.action.html#ad5f1da050fedbae022d48bb21530fba"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">Cl</span></a><a class="idref" href="mathcomp.fingroup.action.html#ad5f1da050fedbae022d48bb21530fba"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_Socle1"><span class="id" title="lemma">Clifford_Socle1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_rank_components"><span class="id" title="lemma">Clifford_rank_components</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</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#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Theorem</span> <a name="Clifford_component_basis"><span class="id" title="lemma">Clifford_component_basis</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.mxrepresentation.html#FieldRepr.Clifford.rH"><span class="id" title="variable">rH</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">t</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">x_</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</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.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_t</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#FieldRepr.Clifford.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">|</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">W</span>, <span class="id" title="keyword">let</span> <span class="id" title="var">sW</span> := (<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_j</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#x_"><span class="id" title="variable">x_</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a>))%<span class="id" title="var">MS</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">j</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#x_"><span class="id" title="variable">x_</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.mxrepresentation.html#FieldRepr.Clifford.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#sW"><span class="id" title="variable">sW</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</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.mxrepresentation.html#sW"><span class="id" title="variable">sW</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_astab"><span class="id" title="lemma">Clifford_astab</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#80208730563aa86aa7861f6fe1b846da"><span class="id" title="notation">&lt;*&gt;</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.mxrepresentation.html#FieldRepr.Clifford.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> <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.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#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.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#26c09fa7b21f5311d68f07b2527cd1eb"><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.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">Cl</span></a><a class="idref" href="mathcomp.fingroup.action.html#99d10685ba0de4584ba3a66908e81722"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_astab1"><span class="id" title="lemma">Clifford_astab1</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.fingroup.action.html#f5d78ca47c9779b162180a14b237bdf4"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#e18a3934ddda7b4da23627d05a96af2d"><span class="id" title="notation">Cl</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> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Clifford_rstabs_simple"><span class="id" title="lemma">Clifford_rstabs_simple</span></a> (<span class="id" title="var">W</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.sH"><span class="id" title="variable">sH</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</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.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs_sub"><span class="id" title="lemma">rstabs_sub</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>)) <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Clifford"><span class="id" title="section">Clifford</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.JordanHolder"><span class="id" title="section">JordanHolder</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.JordanHolder.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="FieldRepr.JordanHolder.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.mxrepresentation.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">Variables</span> (<a name="FieldRepr.JordanHolder.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="FieldRepr.JordanHolder.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="section_module"><span class="id" title="lemma">section_module</span></a> (<span class="id" title="var">U</span> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a>) (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#in_factmod"><span class="id" title="definition">in_factmod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="section_repr"><span class="id" title="definition">section_repr</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#section_module"><span class="id" title="lemma">section_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_factmod_sub"><span class="id" title="lemma">mx_factmod_sub</span></a> <span class="id" title="var">U</span> <span class="id" title="var">modU</span> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule1"><span class="id" title="lemma">mxmodule1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.rG"><span class="id" title="variable">rG</span></a>)) (<a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="max_submod"><span class="id" title="definition">max_submod</span></a> (<span class="id" title="var">U</span> <span class="id" title="var">V</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>) :=<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fb9809f0de6e5c70a07575d5458a53e"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">W</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#611abc97cba304de784fa909dbdea1fa"><span class="id" title="notation">¬</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fb9809f0de6e5c70a07575d5458a53e"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#9fb9809f0de6e5c70a07575d5458a53e"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#962a3cb7af009aedac7986e261646bd1"><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="max_submodP"><span class="id" title="lemma">max_submodP</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="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#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</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.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="max_submod_eqmx"><span class="id" title="lemma">max_submod_eqmx</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</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.mxrepresentation.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V2"><span class="id" title="variable">V2</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.mxrepresentation.html#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V1"><span class="id" title="variable">V1</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#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V2"><span class="id" title="variable">V2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_subseries"><span class="id" title="definition">mx_subseries</span></a> := <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <span class="id" title="var">V</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries"><span class="id" title="definition">mx_subseries</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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> <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">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mx_subseries_module"><span class="id" title="lemma">mx_subseries_module</span></a> <span class="id" title="var">V</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries"><span class="id" title="definition">mx_subseries</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="mx_subseries_module'"><span class="id" title="lemma">mx_subseries_module'</span></a> <span class="id" title="var">V</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries"><span class="id" title="definition">mx_subseries</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.seq.html#d7fed0909a58e41c49e3ee117361b0a5"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="subseries_repr"><span class="id" title="definition">subseries_repr</span></a> <span class="id" title="var">V</span> <span class="id" title="var">i</span> (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries_module'"><span class="id" title="lemma">mx_subseries_module'</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries_module"><span class="id" title="lemma">mx_subseries_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="series_repr"><span class="id" title="definition">series_repr</span></a> <span class="id" title="var">V</span> <span class="id" title="var">i</span> (<span class="id" title="var">compV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#subseries_repr"><span class="id" title="definition">subseries_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#proj1"><span class="id" title="lemma">proj1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compV"><span class="id" title="variable">compV</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_series_lt"><span class="id" title="lemma">mx_series_lt</span></a> <span class="id" title="var">V</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssreflect.path.html#path"><span class="id" title="definition">path</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="max_size_mx_series"><span class="id" title="lemma">max_size_mx_series</span></a> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.path.html#path"><span class="id" title="definition">path</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.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.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#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.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_series_repr_irr"><span class="id" title="lemma">mx_series_repr_irr</span></a> <span class="id" title="var">V</span> <span class="id" title="var">i</span> (<span class="id" title="var">compV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compV"><span class="id" title="variable">compV</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_series_rcons"><span class="id" title="lemma">mx_series_rcons</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_series"><span class="id" title="abbreviation">mx_series</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#df1ced36fc33ce188051218bca314374"><span class="id" title="notation">↔</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_series"><span class="id" title="abbreviation">mx_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#max_submod"><span class="id" title="definition">max_submod</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Theorem</span> <a name="mx_Schreier"><span class="id" title="lemma">mx_Schreier</span></a> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries"><span class="id" title="definition">mx_subseries</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.path.html#path"><span class="id" title="definition">path</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#ltmx"><span class="id" title="definition">ltmx</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">V</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_series"><span class="id" title="abbreviation">mx_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#962a3cb7af009aedac7986e261646bd1"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#subseq"><span class="id" title="definition">subseq</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#962a3cb7af009aedac7986e261646bd1"><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="mx_second_rsim"><span class="id" title="lemma">mx_second_rsim</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">modI</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#capmx_module"><span class="id" title="lemma">capmx_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <span class="id" title="tactic">in</span> <span class="id" title="keyword">let</span> <span class="id" title="var">modA</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#addsmx_module"><span class="id" title="lemma">addsmx_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modI"><span class="id" title="variable">modI</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modA"><span class="id" title="variable">modA</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="section_eqmx_add"><span class="id" title="lemma">section_eqmx_add</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> <span class="id" title="var">modU1</span> <span class="id" title="var">modU2</span> <span class="id" title="var">modV1</span> <span class="id" title="var">modV2</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</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.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#3aa1e041eb0c3f581bd44ed53c8f7182"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V2"><span class="id" title="variable">V2</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> (@<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU1"><span class="id" title="variable">modU1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV1"><span class="id" title="variable">modV1</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V2"><span class="id" title="variable">V2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU2"><span class="id" title="variable">modU2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV2"><span class="id" title="variable">modV2</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="section_eqmx"><span class="id" title="lemma">section_eqmx</span></a> <span class="id" title="var">U1</span> <span class="id" title="var">U2</span> <span class="id" title="var">V1</span> <span class="id" title="var">V2</span> <span class="id" title="var">modU1</span> <span class="id" title="var">modU2</span> <span class="id" title="var">modV1</span> <span class="id" title="var">modV2</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">eqU</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</span></a>)%<span class="id" title="var">MS</span>) (<span class="id" title="var">eqV</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V2"><span class="id" title="variable">V2</span></a>)%<span class="id" title="var">MS</span>) : <br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U1"><span class="id" title="variable">U1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V1"><span class="id" title="variable">V1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU1"><span class="id" title="variable">modU1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV1"><span class="id" title="variable">modV1</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U2"><span class="id" title="variable">U2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V2"><span class="id" title="variable">V2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU2"><span class="id" title="variable">modU2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV2"><span class="id" title="variable">modV2</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_butterfly"><span class="id" title="lemma">mx_butterfly</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">W</span> <span class="id" title="var">modU</span> <span class="id" title="var">modV</span> <span class="id" title="var">modW</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#4b80c70cdb231351c5e129ba61f7f956"><span class="id" title="notation">~~</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5e36479739860cd244bd34c609f10109"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">modUV</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#capmx_module"><span class="id" title="lemma">capmx_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <span class="id" title="tactic">in</span> <br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#max_submod"><span class="id" title="definition">max_submod</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> (@<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modW"><span class="id" title="variable">modW</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modUV"><span class="id" title="variable">modUV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_JordanHolder_exists"><span class="id" title="lemma">mx_JordanHolder_exists</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#max_submod"><span class="id" title="definition">max_submod</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">{</span></a><span class="id" title="var">W</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#1ce49b162eb757fc4a2e0ce4df0ee5cd"><span class="id" title="notation">M_n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#602b9943a639fb973abed6e2c7854421"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.JordanHolder.rsim_rcons"><span class="id" title="variable">rsim_rcons</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">compU</span> <span class="id" title="var">compUV</span> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="variable">compU</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compUV"><span class="id" title="variable">compUV</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.JordanHolder.last_mod"><span class="id" title="variable">last_mod</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">compU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_series"><span class="id" title="abbreviation">mx_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#modG"><span class="id" title="abbreviation">modG</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.JordanHolder.rsim_last"><span class="id" title="variable">rsim_last</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">modUm</span> <span class="id" title="var">modV</span> <span class="id" title="var">compUV</span> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modUm"><span class="id" title="variable">modUm</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(@<a class="idref" href="mathcomp.character.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#rcons"><span class="id" title="definition">rcons</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>) (<a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#compUV"><span class="id" title="variable">compUV</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_JordanHolder"><span class="id" title="lemma">mx_JordanHolder</span></a> <span class="id" title="var">U</span> <span class="id" title="var">V</span> <span class="id" title="var">compU</span> <span class="id" title="var">compV</span> :<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">m</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <span class="id" title="tactic">in</span> (<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d82a7d96d3659d805ffe732283716822"><span class="id" title="notation">(</span></a><a class="idref" href="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">p</span> : <a class="idref" href="mathcomp.fingroup.perm.html#ea6fcc91866185ddfad466ada7c10b27"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.perm.html#ea6fcc91866185ddfad466ada7c10b27"><span class="id" title="notation">S_m</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">∀</span> <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_m</span></a>,<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="variable">compU</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#compV"><span class="id" title="variable">compV</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">Lemma</span> <a name="mx_JordanHolder_max"><span class="id" title="lemma">mx_JordanHolder_max</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">m</span> := <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) <span class="id" title="var">V</span> <span class="id" title="var">compU</span> <span class="id" title="var">modV</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span> <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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> (@<a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">i</span> : <a class="idref" href="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_m</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> <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.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>) (@<a class="idref" href="mathcomp.character.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="variable">compU</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.JordanHolder"><span class="id" title="section">JordanHolder</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Regular"><span class="id" title="section">Regular</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Regular.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="FieldRepr.Regular.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.mxrepresentation.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/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_free"><span class="id" title="lemma">gring_free</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_op_id"><span class="id" title="lemma">gring_op_id</span></a> <span class="id" title="var">A</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_rowK"><span class="id" title="lemma">gring_rowK</span></a> <span class="id" title="var">A</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</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.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mem_gring_mx"><span class="id" title="lemma">mem_gring_mx</span></a> <span class="id" title="var">m</span> <span class="id" title="var">a</span> (<span class="id" title="var">M</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.mxrepresentation.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.mxrepresentation.html#nG"><span class="id" title="abbreviation">nG</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</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.mxrepresentation.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.mxrepresentation.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="mem_sub_gring"><span class="id" title="lemma">mem_sub_gring</span></a> <span class="id" title="var">m</span> <span class="id" title="var">A</span> (<span class="id" title="var">M</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.mxrepresentation.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.mxrepresentation.html#nG"><span class="id" title="abbreviation">nG</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</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.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&amp;&amp;</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Regular.GringMx"><span class="id" title="section">GringMx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Regular.GringMx.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="FieldRepr.Regular.GringMx.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_mxP"><span class="id" title="lemma">gring_mxP</span></a> <span class="id" title="var">a</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_mx"><span class="id" title="definition">gring_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#a"><span class="id" title="variable">a</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#enveloping_algebra_mx"><span class="id" title="definition">enveloping_algebra_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="gring_opM"><span class="id" title="lemma">gring_opM</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Regular.GringMx.irrG"><span class="id" title="variable">irrG</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.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rsim_regular_factmod"><span class="id" title="lemma">rsim_regular_factmod</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">U</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">:</span></a> <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_nG</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">modU</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</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.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#factmod_repr"><span class="id" title="definition">factmod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">}}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rsim_regular_series"><span class="id" title="lemma">rsim_regular_series</span></a> <span class="id" title="var">U</span> (<span class="id" title="var">compU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_composition_series"><span class="id" title="definition">mx_composition_series</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;(<a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</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_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#9de6d53cccc27f521f3ab56b38159140"><span class="id" title="notation">)</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> <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.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#series_repr"><span class="id" title="definition">series_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#compU"><span class="id" title="variable">compU</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Regular.GringMx.F'G"><span class="id" title="variable">F'G</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.mxrepresentation.html#FieldRepr.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rsim_regular_submod"><span class="id" title="lemma">rsim_regular_submod</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">U</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">:</span></a> <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_nG</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">{</span></a><span class="id" title="var">modU</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">&amp;</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.mxrepresentation.html#FieldRepr.Regular.GringMx.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#50b5d8dd6be4fba768e35617e518ad76"><span class="id" title="notation">}}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.GringMx"><span class="id" title="section">GringMx</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="gset_mx"><span class="id" title="definition">gset_mx</span></a> (<span class="id" title="var">A</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.mxrepresentation.html#FieldRepr.Regular.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.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c791dbdc1655ae690f0a6c159a384c0"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="classg_base"><span class="id" title="definition">classg_base</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">k</span> <a class="idref" href="mathcomp.algebra.matrix.html#31137a9382a4a6a96e5b27ab39a7efe6"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#tG"><span class="id" title="abbreviation">tG</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#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gset_mx"><span class="id" title="definition">gset_mx</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.mxrepresentation.html#k"><span class="id" title="variable">k</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Regular.groupCl"><span class="id" title="variable">groupCl</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.mxrepresentation.html#FieldRepr.Regular.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#30988ee242f08216f4b40cf90b42b816"><span class="id" title="notation">^:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.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#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.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#53295d8f18390300c5a24f66e0bcda98"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="classg_base_free"><span class="id" title="lemma">classg_base_free</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#classg_base"><span class="id" title="definition">classg_base</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="classg_base_center"><span class="id" title="lemma">classg_base_center</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#classg_base"><span class="id" title="definition">classg_base</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="regular_module_ideal"><span class="id" title="lemma">regular_module_ideal</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">M</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.mxrepresentation.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.mxrepresentation.html#nG"><span class="id" title="abbreviation">nG</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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="mathcomp.algebra.mxalgebra.html#right_mx_ideal"><span class="id" title="definition">right_mx_ideal</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="irrType"><span class="id" title="definition">irrType</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a>.<br/>
+<span class="id" title="keyword">Identity</span> <span class="id" title="keyword">Coercion</span> <span class="id" title="var">type_of_irrType</span> : <span class="id" title="var">irrType</span> &gt;-&gt; <span class="id" title="var">socleType</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#irrType"><span class="id" title="definition">irrType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="irr_degree"><span class="id" title="definition">irr_degree</span></a> (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</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.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a>.<br/>
+<span class="id" title="keyword">Local Open</span> <span class="id" title="keyword">Scope</span> <span class="id" title="var">group_ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_degreeE"><span class="id" title="lemma">irr_degreeE</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_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.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.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">)</span></a>. <br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_degree_gt0"><span class="id" title="lemma">irr_degree_gt0</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="irr_repr"><span class="id" title="definition">irr_repr</span></a> <span class="id" title="var">i</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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>.<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_reprE"><span class="id" title="lemma">irr_reprE</span></a> <span class="id" title="var">i</span> <span class="id" title="var">x</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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#submod_mx"><span class="id" title="definition">submod_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_module"><span class="id" title="definition">socle_module</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rfix_regular"><span class="id" title="lemma">rfix_regular</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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_row"><span class="id" title="definition">gring_row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gset_mx"><span class="id" title="definition">gset_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="principal_comp_subproof"><span class="id" title="lemma">principal_comp_subproof</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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Fact</span> <a name="principal_comp_key"><span class="id" title="lemma">principal_comp_key</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#unit"><span class="id" title="inductive">unit</span></a>. <br/>
+<span class="id" title="keyword">Definition</span> <a name="principal_comp_def"><span class="id" title="definition">principal_comp_def</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#PackSocle"><span class="id" title="constructor">PackSocle</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#component_socle"><span class="id" title="lemma">component_socle</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#principal_comp_subproof"><span class="id" title="lemma">principal_comp_subproof</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="principal_comp"><span class="id" title="definition">principal_comp</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#locked_with"><span class="id" title="definition">locked_with</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#principal_comp_key"><span class="id" title="lemma">principal_comp_key</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#principal_comp_def"><span class="id" title="definition">principal_comp_def</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr1_rfix"><span class="id" title="lemma">irr1_rfix</span></a> : (1%<span class="id" title="var">irr</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><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.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_irr1"><span class="id" title="lemma">rank_irr1</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> 1%<span class="id" title="var">irr</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="degree_irr1"><span class="id" title="lemma">degree_irr1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_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> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Wedderburn_subring"><span class="id" title="definition">Wedderburn_subring</span></a> (<span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a>) := <a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Regular.sums_R"><span class="id" title="variable">sums_R</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_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.mxrepresentation.html#Socle"><span class="id" title="definition">Socle</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</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.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_ideal"><span class="id" title="lemma">Wedderburn_ideal</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mx_ideal"><span class="id" title="definition">mx_ideal</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_direct"><span class="id" title="lemma">Wedderburn_direct</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxdirect"><span class="id" title="abbreviation">mxdirect</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_disjoint"><span class="id" title="lemma">Wedderburn_disjoint</span></a> <span class="id" title="var">i</span> <span class="id" title="var">j</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_annihilate"><span class="id" title="lemma">Wedderburn_annihilate</span></a> <span class="id" title="var">i</span> <span class="id" title="var">j</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e1933dd1dc5a439f13af26926cf1eb7b"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_mulmx0"><span class="id" title="lemma">Wedderburn_mulmx0</span></a> <span class="id" title="var">i</span> <span class="id" title="var">j</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</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.mxrepresentation.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.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Regular.F'G"><span class="id" title="variable">F'G</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.mxrepresentation.html#FieldRepr.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_mx_sum"><span class="id" title="lemma">irr_mx_sum</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d616ea0def93d66606af266470d875c4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_sum"><span class="id" title="lemma">Wedderburn_sum</span></a> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#8aff942cd5cd388036490acbb1397b96"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_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.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="Wedderburn_id"><span class="id" title="definition">Wedderburn_id</span></a> <span class="id" title="var">i</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#proj_mx"><span class="id" title="definition">proj_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#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">j</span> <a class="idref" href="mathcomp.algebra.mxalgebra.html#5bdeaec12a667f4fb2d5ea436c1979c7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</span></a>)%<span class="id" title="var">MS</span>).<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_sum_id"><span class="id" title="lemma">Wedderburn_sum_id</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#640778742e86daa97d31c9911c679af3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#640778742e86daa97d31c9911c679af3"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_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> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_id_mem"><span class="id" title="lemma">Wedderburn_id_mem</span></a> <span class="id" title="var">i</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_is_id"><span class="id" title="lemma">Wedderburn_is_id</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring_id"><span class="id" title="definition">mxring_id</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_closed"><span class="id" title="lemma">Wedderburn_closed</span></a> <span class="id" title="var">i</span> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#e1933dd1dc5a439f13af26926cf1eb7b"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_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.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_is_ring"><span class="id" title="lemma">Wedderburn_is_ring</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#mxring"><span class="id" title="definition">mxring</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_min_ideal"><span class="id" title="lemma">Wedderburn_min_ideal</span></a> <span class="id" title="var">m</span> <span class="id" title="var">i</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">A_</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#nG"><span class="id" title="abbreviation">nG</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#9e73b6d2baafc158f1b2b2f6e40fc548"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#mx_ideal"><span class="id" title="definition">mx_ideal</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Regular.IrrComponent"><span class="id" title="section">IrrComponent</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The component of the socle of the regular module that is associated to an
+ irreducible representation.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.Regular.IrrComponent.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="FieldRepr.Regular.IrrComponent.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.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Regular.IrrComponent.not_rsim_op0"><span class="id" title="variable">not_rsim_op0</span></a> (<span class="id" title="var">iG</span> <span class="id" title="var">j</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a>) <span class="id" title="var">A</span> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#iG"><span class="id" title="variable">iG</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#iG"><span class="id" title="variable">iG</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="irr_comp"><span class="id" title="definition">irr_comp</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#odflt"><span class="id" title="abbreviation">odflt</span></a> 1%<span class="id" title="var">irr</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">pick</span></a> <span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Regular.IrrComponent.irrG"><span class="id" title="variable">irrG</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.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rsim_irr_comp"><span class="id" title="lemma">rsim_irr_comp</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.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a> (<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.mxrepresentation.html#iG"><span class="id" title="abbreviation">iG</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_comp'_op0"><span class="id" title="lemma">irr_comp'_op0</span></a> <span class="id" title="var">j</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#iG"><span class="id" title="abbreviation">iG</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#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_comp_envelop"><span class="id" title="lemma">irr_comp_envelop</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_iG</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="ker_irr_comp_op"><span class="id" title="lemma">ker_irr_comp_op</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_iG</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bce3bcafad88bdee58acbfcd89899a28"><span class="id" title="notation">:&amp;:</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#kermx"><span class="id" title="definition">kermx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#lin_mx"><span class="id" title="definition">lin_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent.rG"><span class="id" title="variable">rG</span></a>)))%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="regular_op_inj"><span class="id" title="lemma">regular_op_inj</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#2bba53854f326a714d377124cccec593"><span class="id" title="notation">in</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">pred</span></a> <span class="id" title="var">A</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><span class="id" title="notation">|</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_iG</span></a>)%<span class="id" title="var">MS</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#880a9790dece461a678db8aa0c091f63"><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">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#injective"><span class="id" title="definition">injective</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent.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#2bba53854f326a714d377124cccec593"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_irr_comp"><span class="id" title="lemma">rank_irr_comp</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.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_iG</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#2841ad707bf668c5fe86250d8f31a3f6"><span class="id" title="notation">rank</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#E_G"><span class="id" title="abbreviation">E_G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.IrrComponent"><span class="id" title="section">IrrComponent</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_comp_rsim"><span class="id" title="lemma">irr_comp_rsim</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">rG1</span> <span class="id" title="var">rG2</span> :<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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#irr_comp"><span class="id" title="definition">irr_comp</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="http://coq.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#irr_comp"><span class="id" title="definition">irr_comp</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_reprK"><span class="id" title="lemma">irr_reprK</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_comp"><span class="id" title="definition">irr_comp</span></a> (<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.mxrepresentation.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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_repr'_op0"><span class="id" title="lemma">irr_repr'_op0</span></a> <span class="id" title="var">i</span> <span class="id" title="var">j</span> <span class="id" title="var">A</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#bfc118b745d1a8ee504472dad1db645c"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_j</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.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> (<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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="op_Wedderburn_id"><span class="id" title="lemma">op_Wedderburn_id</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#gring_op"><span class="id" title="definition">gring_op</span></a> (<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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_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> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_comp_id"><span class="id" title="lemma">irr_comp_id</span></a> (<span class="id" title="var">M</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_nG</span></a>) (<span class="id" title="var">modM</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a>) (<span class="id" title="var">iM</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#M"><span class="id" title="variable">M</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#a83de2bef5d483337931b658f4451b59"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#iM"><span class="id" title="variable">iM</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.mxrepresentation.html#irr_comp"><span class="id" title="definition">irr_comp</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#submod_repr"><span class="id" title="definition">submod_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modM"><span class="id" title="variable">modM</span></a>) <a class="idref" href="http://coq.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#iM"><span class="id" title="variable">iM</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr1_repr"><span class="id" title="lemma">irr1_repr</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Regular.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#irr_repr"><span class="id" title="definition">irr_repr</span></a> 1 <a class="idref" href="mathcomp.character.mxrepresentation.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> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypothesis</span> <a name="FieldRepr.Regular.splitG"><span class="id" title="variable">splitG</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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rank_Wedderburn_subring"><span class="id" title="lemma">rank_Wedderburn_subring</span></a> <span class="id" title="var">i</span> : <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.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_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.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="sum_irr_degree"><span class="id" title="lemma">sum_irr_degree</span></a> : (<a class="idref" href="mathcomp.ssreflect.bigop.html#b91591d27d854cdae67c690fc99842e0"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#b91591d27d854cdae67c690fc99842e0"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#4c362bcf0e947e2792a2e6989b44aeb0"><span class="id" title="notation">^</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#nG"><span class="id" title="abbreviation">nG</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_mx_mult"><span class="id" title="lemma">irr_mx_mult</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#socle_mult"><span class="id" title="definition">socle_mult</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxtrace_regular"><span class="id" title="lemma">mxtrace_regular</span></a> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.Regular.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#aG"><span class="id" title="abbreviation">aG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#640778742e86daa97d31c9911c679af3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#640778742e86daa97d31c9911c679af3"><span class="id" title="notation">sum_i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">tr</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#socle_repr"><span class="id" title="definition">socle_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9e9debb16249584408eaef095f6716eb"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#891e51846c7d1d63a9cb5458374cf308"><span class="id" title="notation">*+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</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">Definition</span> <a name="linear_irr"><span class="id" title="definition">linear_irr</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">i</span> <a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_i</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.finset.html#20dd00d77a881552893c96be95088d1a"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_degree_abelian"><span class="id" title="lemma">irr_degree_abelian</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.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> <span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_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> 1%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="linear_irr_comp"><span class="id" title="lemma">linear_irr_comp</span></a> <span class="id" title="var">i</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#c674f1775e550ca38ba6626787fbdfd2"><span class="id" title="notation">n_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> 1%<span class="id" title="var">N</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#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.mxrepresentation.html#socle_base"><span class="id" title="definition">socle_base</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_subring_center"><span class="id" title="lemma">Wedderburn_subring_center</span></a> <span class="id" title="var">i</span> : (<a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#7b6a6a8c01938a6edd22860d7e925339"><span class="id" title="notation">R_i</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_i</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="Wedderburn_center"><span class="id" title="lemma">Wedderburn_center</span></a> :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#R_G"><span class="id" title="abbreviation">R_G</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#972f5ef28830d59d0a4b5dfdfda2843a"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><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">&lt;</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#FieldRepr.Regular.sG"><span class="id" title="variable">sG</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.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><span class="id" title="notation">e_</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#f525fb0dd2275735c0a65da3608bcb12"><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="card_irr"><span class="id" title="lemma">card_irr</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#FieldRepr.Regular.sG"><span class="id" title="variable">sG</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.mxrepresentation.html#tG"><span class="id" title="abbreviation">tG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.Regular.CenterMode"><span class="id" title="section">CenterMode</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="FieldRepr.Regular.CenterMode.i"><span class="id" title="variable">i</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.sG"><span class="id" title="variable">sG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="FieldRepr.Regular.CenterMode.i0"><span class="id" title="variable">i0</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#Ordinal"><span class="id" title="constructor">Ordinal</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#irr_degree_gt0"><span class="id" title="lemma">irr_degree_gt0</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.CenterMode.i"><span class="id" title="variable">i</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="irr_mode"><span class="id" title="definition">irr_mode</span></a> <span class="id" title="var">x</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.mxrepresentation.html#FieldRepr.Regular.CenterMode.i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.CenterMode.i0"><span class="id" title="variable">i0</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.CenterMode.i0"><span class="id" title="variable">i0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_mode1"><span class="id" title="lemma">irr_mode1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_center_scalar"><span class="id" title="lemma">irr_center_scalar</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.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</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.mxrepresentation.html#FieldRepr.Regular.CenterMode.i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="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="irr_modeM"><span class="id" title="lemma">irr_modeM</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.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><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">&amp;,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</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.mxrepresentation.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.mxrepresentation.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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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">Lemma</span> <a name="irr_modeX"><span class="id" title="lemma">irr_modeX</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#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.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</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">x</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.mxrepresentation.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.mxrepresentation.html#n"><span class="id" title="variable">n</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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_mode_unit"><span class="id" title="lemma">irr_mode_unit</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.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">is</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#1e40fee506a85b20590ef299005b003d"><span class="id" title="notation">a</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.unit"><span class="id" title="definition">GRing.unit</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_mode_neq0"><span class="id" title="lemma">irr_mode_neq0</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.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr_modeV"><span class="id" title="lemma">irr_modeV</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.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.mxrepresentation.html#FieldRepr.Regular.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">,</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</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">x</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.mxrepresentation.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>)%<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">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular.CenterMode"><span class="id" title="section">CenterMode</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="irr1_mode"><span class="id" title="lemma">irr1_mode</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#FieldRepr.Regular.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#irr_mode"><span class="id" title="definition">irr_mode</span></a> 1 <a class="idref" href="mathcomp.character.mxrepresentation.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> 1.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.Regular"><span class="id" title="section">Regular</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="FieldRepr.LinearIrr"><span class="id" title="section">LinearIrr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="FieldRepr.LinearIrr.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="FieldRepr.LinearIrr.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.mxrepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="card_linear_irr"><span class="id" title="lemma">card_linear_irr</span></a> (<span class="id" title="var">sG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#irrType"><span class="id" title="definition">irrType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<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.mxrepresentation.html#FieldRepr.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.mxrepresentation.html#FieldRepr.LinearIrr.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#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.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><br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#sG"><span class="id" title="variable">sG</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.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a>1<a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f65ecb5148d1ef5a9c551827b20e9bfa"><span class="id" title="notation">|</span></a>%<span class="id" title="var">g</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="primitive_root_splitting_abelian"><span class="id" title="lemma">primitive_root_splitting_abelian</span></a> (<span class="id" title="var">z</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.poly.html#92efb5ea268b6e2f9a125afe76aecbba"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.algebra.poly.html#92efb5ea268b6e2f9a125afe76aecbba"><span class="id" title="notation">primitive_root</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.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#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="cycle_repr_structure"><span class="id" title="lemma">cycle_repr_structure</span></a> <span class="id" title="var">x</span> (<span class="id" title="var">sG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#irrType"><span class="id" title="definition">irrType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67291ec55239f54fa5aa0b0bb974446c"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#30152704c0ab4066186d0284456667e8"><span class="id" title="notation">&lt;[</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#30152704c0ab4066186d0284456667e8"><span class="id" title="notation">]&gt;</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</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.mxrepresentation.html#FieldRepr.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.mxrepresentation.html#FieldRepr.LinearIrr.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#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.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><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">w</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><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#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.poly.html#92efb5ea268b6e2f9a125afe76aecbba"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.algebra.poly.html#92efb5ea268b6e2f9a125afe76aecbba"><span class="id" title="notation">primitive_root</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#fe60c20831f772c0c3c288abf68cc42a"><span class="id" title="notation">&amp;</span></a><br/>
+&nbsp;&nbsp;<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_</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#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</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#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="variable">sG</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><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">[/\</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#bijective"><span class="id" title="inductive">bijective</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">,</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#sG"><span class="id" title="variable">sG</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.mxrepresentation.html#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</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.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">,</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.character.mxrepresentation.html#irr_mode"><span class="id" title="definition">irr_mode</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#iphi"><span class="id" title="variable">iphi</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">&amp;</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">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.mxrepresentation.html#iphi"><span class="id" title="variable">iphi</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.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.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">)%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#ca13a32469ebe56c9f4cc99d00e8eeba"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="splitting_cyclic_primitive_root"><span class="id" title="lemma">splitting_cyclic_primitive_root</span></a> :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.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.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.mxrepresentation.html#FieldRepr.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.mxrepresentation.html#FieldRepr.LinearIrr.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#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr.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><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">{</span></a><span class="id" title="var">z</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#72ca3fac4636a1b19c963b12162882cf"><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#FieldRepr.LinearIrr.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.algebra.poly.html#92efb5ea268b6e2f9a125afe76aecbba"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.algebra.poly.html#92efb5ea268b6e2f9a125afe76aecbba"><span class="id" title="notation">primitive_root</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#72ca3fac4636a1b19c963b12162882cf"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr.LinearIrr"><span class="id" title="section">LinearIrr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#FieldRepr"><span class="id" title="section">FieldRepr</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="41a1b3d3e079a8f41f94e755cee65149"><span class="id" title="notation">&quot;</span></a>'Cl" := (<a class="idref" href="mathcomp.character.mxrepresentation.html#Clifford_action"><span class="id" title="definition">Clifford_action</span></a> <span class="id" title="var">_</span>) : <span class="id" title="var">action_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="8f7f74ab2f9ab6d0ac882a43dab0b4b4"><span class="id" title="notation">&quot;</span></a>[ 1 sG ]" := (<a class="idref" href="mathcomp.character.mxrepresentation.html#principal_comp"><span class="id" title="definition">principal_comp</span></a> <span class="id" title="var">sG</span>) : <span class="id" title="var">irrType_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="f0b319b6cf7dcbe63b758838a69e45e6"><span class="id" title="notation">&quot;</span></a>''n_' i" := (<a class="idref" href="mathcomp.character.mxrepresentation.html#irr_degree"><span class="id" title="definition">irr_degree</span></a> <span class="id" title="var">i</span>) : <span class="id" title="var">group_ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="358b3d83776e4afa315ad7c653c53bb3"><span class="id" title="notation">&quot;</span></a>''R_' i" := (<a class="idref" href="mathcomp.character.mxrepresentation.html#Wedderburn_subring"><span class="id" title="definition">Wedderburn_subring</span></a> <span class="id" title="var">i</span>) : <span class="id" title="var">group_ring_scope</span>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="42cbdc8870b32431b663ed0c745cc356"><span class="id" title="notation">&quot;</span></a>''e_' i" := (<a class="idref" href="mathcomp.character.mxrepresentation.html#Wedderburn_id"><span class="id" title="definition">Wedderburn_id</span></a> <span class="id" title="var">i</span>) : <span class="id" title="var">group_ring_scope</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="DecideRed"><span class="id" title="section">DecideRed</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">MatrixFormula</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="DecideRed.Definitions"><span class="id" title="section">Definitions</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="DecideRed.Definitions.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="DecideRed.Definitions.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="DecideRed.Definitions.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.mxrepresentation.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="DecideRed.Definitions.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="DecideRed.Definitions.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.mxrepresentation.html#DecideRed.Definitions.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxmodule_form"><span class="id" title="definition">mxmodule_form</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.character.mxrepresentation.html#term"><span class="id" title="abbreviation">term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#And"><span class="id" title="abbreviation">And</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">/</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#True"><span class="id" title="abbreviation">True</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#9b4515ceb280b6b5a2638c4e28ba3f31"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.submx_form"><span class="id" title="definition">submx_form</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mulmx_term"><span class="id" title="definition">mulmx_term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>))) <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_form_qf"><span class="id" title="lemma">mxmodule_form_qf</span></a> <span class="id" title="var">U</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#qf_form"><span class="id" title="abbreviation">qf_form</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule_form"><span class="id" title="definition">mxmodule_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="eval_mxmodule"><span class="id" title="lemma">eval_mxmodule</span></a> <span class="id" title="var">U</span> <span class="id" title="var">e</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#qf_eval"><span class="id" title="abbreviation">qf_eval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule_form"><span class="id" title="definition">mxmodule_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#DecideRed.Definitions.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxnonsimple_form"><span class="id" title="definition">mxnonsimple_form</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.character.mxrepresentation.html#term"><span class="id" title="abbreviation">term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>) :=<br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">V</span> := <a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.row_var"><span class="id" title="definition">row_var</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.F"><span class="id" title="variable">F</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.n"><span class="id" title="variable">n</span></a>) 0) <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">nzV</span> := (<a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mxrank_form"><span class="id" title="definition">mxrank_form</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">T</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;<span class="id" title="keyword">let</span> <span class="id" title="var">properVU</span> := (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.submx_form"><span class="id" title="definition">submx_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#34bfd1085795ea0dabf4707f6dcc9f24"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.submx_form"><span class="id" title="definition">submx_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">T</span> <span class="id" title="tactic">in</span><br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.Exists_row_form"><span class="id" title="definition">Exists_row_form</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions.n"><span class="id" title="variable">n</span></a>) 0 (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule_form"><span class="id" title="definition">mxmodule_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#34bfd1085795ea0dabf4707f6dcc9f24"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#nzV"><span class="id" title="variable">nzV</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#34bfd1085795ea0dabf4707f6dcc9f24"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#properVU"><span class="id" title="variable">properVU</span></a>))%<span class="id" title="var">T</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.Definitions"><span class="id" title="section">Definitions</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="DecideRed.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports.decFieldType"><span class="id" title="abbreviation">decFieldType</span></a>) (<a name="DecideRed.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="DecideRed.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.mxrepresentation.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="DecideRed.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="DecideRed.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.mxrepresentation.html#DecideRed.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.n"><span class="id" title="variable">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="mxnonsimple_sat"><span class="id" title="definition">mxnonsimple_sat</span></a> <span class="id" title="var">U</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">GRing.sat</span></a> (@<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.row_env"><span class="id" title="definition">row_env</span></a> <span class="id" title="var">_</span> (<a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#697e4695610f677ae98a52af81f779d2"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.n"><span class="id" title="variable">n</span></a>) <a class="idref" href="mathcomp.ssreflect.seq.html#747e2b5d553b2dfe76e024e1f8fb39d1"><span class="id" title="notation">[::]</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxnonsimple_form"><span class="id" title="definition">mxnonsimple_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxnonsimpleP"><span class="id" title="lemma">mxnonsimpleP</span></a> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</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="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#mxnonsimple"><span class="id" title="definition">mxnonsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#mxnonsimple_sat"><span class="id" title="definition">mxnonsimple_sat</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="dec_mxsimple_exists"><span class="id" title="lemma">dec_mxsimple_exists</span></a> (<span class="id" title="var">U</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>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</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="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">{</span></a><span class="id" title="var">V</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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.Specif.html#f5350ad671d3ce0e1e463e298917cf6e"><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="dec_mx_reducible_semisimple"><span class="id" title="lemma">dec_mx_reducible_semisimple</span></a> <span class="id" title="var">U</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_completely_reducible"><span class="id" title="definition">mx_completely_reducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxsemisimple"><span class="id" title="inductive">mxsemisimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="DecSocleType"><span class="id" title="lemma">DecSocleType</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#socleType"><span class="id" title="record">socleType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#DecideRed"><span class="id" title="section">DecideRed</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Change of representation field (by tensoring)
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="ChangeOfField"><span class="id" title="section">ChangeOfField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ChangeOfField.aF"><span class="id" title="variable">aF</span></a> <a name="ChangeOfField.rF"><span class="id" title="variable">rF</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>) (<a name="ChangeOfField.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#aF"><span class="id" title="variable">aF</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rF"><span class="id" title="variable">rF</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ChangeOfField.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="ChangeOfField.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.mxrepresentation.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/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="ChangeOfField.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="ChangeOfField.OneRepresentation.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="ChangeOfField.OneRepresentation.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.mxrepresentation.html#ChangeOfField.aF"><span class="id" title="variable">aF</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_rfix_mx"><span class="id" title="lemma">map_rfix_mx</span></a> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><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.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">)^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rfix_mx"><span class="id" title="definition">rfix_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rcent_map"><span class="id" title="lemma">rcent_map</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rcent"><span class="id" title="definition">rcent</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstab_map"><span class="id" title="lemma">rstab_map</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.mxrepresentation.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.mxrepresentation.html#ChangeOfField.OneRepresentation.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.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rstabs_map"><span class="id" title="lemma">rstabs_map</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.mxrepresentation.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.mxrepresentation.html#ChangeOfField.OneRepresentation.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.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="centgmx_map"><span class="id" title="lemma">centgmx_map</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxmodule_map"><span class="id" title="lemma">mxmodule_map</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.mxrepresentation.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.mxrepresentation.html#ChangeOfField.OneRepresentation.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.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mxsimple_map"><span class="id" title="lemma">mxsimple_map</span></a> (<span class="id" title="var">U</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.character.mxrepresentation.html#mxsimple"><span class="id" title="definition">mxsimple</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><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.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_irr_map"><span class="id" title="lemma">mx_irr_map</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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</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_irreducible"><span class="id" title="definition">mx_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="rker_map"><span class="id" title="lemma">rker_map</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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_mx_faithful"><span class="id" title="lemma">map_mx_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.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_mx_abs_irr"><span class="id" title="lemma">map_mx_abs_irr</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="abbreviation">rGf</span></a> <a class="idref" href="http://coq.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_absolutely_irreducible"><span class="id" title="definition">mx_absolutely_irreducible</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.OneRepresentation"><span class="id" title="section">OneRepresentation</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="mx_rsim_map"><span class="id" title="lemma">mx_rsim_map</span></a> <span class="id" title="var">n1</span> <span class="id" title="var">n2</span> <span class="id" title="var">rG1</span> <span class="id" title="var">rG2</span> :<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> <span class="id" title="var">_</span> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n1"><span class="id" title="variable">n1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n2"><span class="id" title="variable">n2</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</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_rsim"><span class="id" title="inductive">mx_rsim</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG1"><span class="id" title="variable">rG1</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG2"><span class="id" title="variable">rG2</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_section_repr"><span class="id" title="lemma">map_section_repr</span></a> <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.mxrepresentation.html#ChangeOfField.aF"><span class="id" title="variable">aF</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#n"><span class="id" title="variable">n</span></a>) <span class="id" title="var">rGf</span> <span class="id" title="var">U</span> <span class="id" title="var">V</span><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) (<span class="id" title="var">modV</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id" title="var">modUf</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a>) (<span class="id" title="var">modVf</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a>) :<br/>
+&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#rG"><span class="id" title="variable">rG</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.mxrepresentation.html#rGf"><span class="id" title="variable">rGf</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mx_rsim"><span class="id" title="inductive">mx_rsim</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modV"><span class="id" title="variable">modV</span></a>)) (<a class="idref" href="mathcomp.character.mxrepresentation.html#section_repr"><span class="id" title="definition">section_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modUf"><span class="id" title="variable">modUf</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modVf"><span class="id" title="variable">modVf</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="map_regular_subseries"><span class="id" title="lemma">map_regular_subseries</span></a> <span class="id" title="var">U</span> <span class="id" title="var">i</span> (<span class="id" title="var">modU</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries"><span class="id" title="definition">mx_subseries</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#regular_repr"><span class="id" title="definition">regular_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.aF"><span class="id" title="variable">aF</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)<br/>
+&nbsp;&nbsp;&nbsp;(<span class="id" title="var">modUf</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#mx_subseries"><span class="id" title="definition">mx_subseries</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#regular_repr"><span class="id" title="definition">regular_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.rF"><span class="id" title="variable">rF</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.ssreflect.seq.html#b7adbae1ad6b5f8e6d4ef64ae286f319"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#b7adbae1ad6b5f8e6d4ef64ae286f319"><span class="id" title="notation">seq</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#M"><span class="id" title="variable">M</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#333123aecb84dc536c58a58868f7e94f"><span class="id" title="notation">f</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#b7adbae1ad6b5f8e6d4ef64ae286f319"><span class="id" title="notation">|</span></a> <span class="id" title="var">M</span> <a class="idref" href="mathcomp.ssreflect.seq.html#b7adbae1ad6b5f8e6d4ef64ae286f319"><span class="id" title="notation">&lt;-</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#b7adbae1ad6b5f8e6d4ef64ae286f319"><span class="id" title="notation">]</span></a>) :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.f"><span class="id" title="variable">f</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#subseries_repr"><span class="id" title="definition">subseries_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modU"><span class="id" title="variable">modU</span></a>)) (<a class="idref" href="mathcomp.character.mxrepresentation.html#subseries_repr"><span class="id" title="definition">subseries_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#modUf"><span class="id" title="variable">modUf</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="extend_group_splitting_field"><span class="id" title="lemma">extend_group_splitting_field</span></a> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#ChangeOfField.aF"><span class="id" title="variable">aF</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.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#group_splitting_field"><span class="id" title="definition">group_splitting_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.rF"><span class="id" title="variable">rF</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField.G"><span class="id" title="variable">G</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#ChangeOfField"><span class="id" title="section">ChangeOfField</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Construction of a splitting field FA of an irreducible representation, for
+ a matrix A in the centraliser of the representation. FA is the row-vector
+ space of the matrix algebra generated by A with basis 1, A, ..., A ^+ d.-1
+ or, equivalently, the polynomials in {poly F} taken mod the (irreducible)
+ minimal polynomial pA of A (of degree d).
+ The details of the construction of FA are encapsulated in a submodule.
+</div>
+<div class="code">
+<span class="id" title="keyword">Module</span> <span class="id" title="keyword">Import</span> <a name="MatrixGenField"><span class="id" title="module">MatrixGenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixGenField.GenField"><span class="id" title="section">GenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixGenField.GenField.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="MatrixGenField.GenField.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="MatrixGenField.GenField.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.mxrepresentation.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="MatrixGenField.GenField.n'"><span class="id" title="variable">n'</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixGenField.GenField.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.mxrepresentation.html#MatrixGenField.GenField.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.n"><span class="id" title="abbreviation">n</span></a>) (<a name="MatrixGenField.GenField.A"><span class="id" title="variable">A</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.mxrepresentation.html#MatrixGenField.GenField.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.GenField.d_gt0"><span class="id" title="variable">d_gt0</span></a> := <a class="idref" href="mathcomp.algebra.mxpoly.html#mxminpoly_nonconstant"><span class="id" title="lemma">mxminpoly_nonconstant</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Record</span> <a name="MatrixGenField.gen_of"><span class="id" title="record">gen_of</span></a> (<span class="id" title="var">irrG</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.irr"><span class="id" title="abbreviation">irr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a>) (<span class="id" title="var">cGA</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a>) := <a name="MatrixGenField.Gen"><span class="id" title="constructor">Gen</span></a> {<a name="MatrixGenField.rVval"><span class="id" title="projection">rVval</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.mxrepresentation.html#MatrixGenField.GenField.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">_d</span></a>}.<br/>
+
+<br/>
+<span class="id" title="keyword">Hypotheses</span> (<a name="MatrixGenField.GenField.irrG"><span class="id" title="variable">irrG</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.irr"><span class="id" title="abbreviation">irr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a>) (<a name="MatrixGenField.GenField.cGA"><span class="id" title="variable">cGA</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Notation</span> <a name="MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> := (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_of"><span class="id" title="record">gen_of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.irrG"><span class="id" title="variable">irrG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.cGA"><span class="id" title="variable">cGA</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.Gen"><span class="id" title="constructor">Gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.irrG"><span class="id" title="variable">irrG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.cGA"><span class="id" title="variable">cGA</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_subType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">newType</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">for</span></a> @<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rVval"><span class="id" title="projection">rVval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.irrG"><span class="id" title="variable">irrG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.cGA"><span class="id" title="variable">cGA</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#d716e206e5129c6b3a60f0f640eaaeb0"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_eqMixin"><span class="id" title="definition">gen_eqMixin</span></a> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">eqMixin</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#4bc2d2dce12edef0fb9c71d4a902ae5d"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_eqType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.eqtype.html#Equality.Exports.EqType"><span class="id" title="abbreviation">EqType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_eqMixin"><span class="id" title="definition">gen_eqMixin</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_choiceMixin"><span class="id" title="definition">gen_choiceMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">choiceMixin</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#6c8b2d90ff1fbb8e9926bbf12495cb70"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_choiceType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Choice.Exports.ChoiceType"><span class="id" title="abbreviation">ChoiceType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_choiceMixin"><span class="id" title="definition">gen_choiceMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen0"><span class="id" title="definition">gen0</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> 0.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.genN"><span class="id" title="definition">genN</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#941c6d086004545bd62614d0213e75e5"><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.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.genD"><span class="id" title="definition">genD</span></a> (<span class="id" title="var">x</span> <span class="id" title="var">y</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</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.mxrepresentation.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.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#y"><span class="id" title="variable">y</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_addA"><span class="id" title="lemma">gen_addA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genD"><span class="id" title="definition">genD</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_addC"><span class="id" title="lemma">gen_addC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genD"><span class="id" title="definition">genD</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_add0r"><span class="id" title="lemma">gen_add0r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen0"><span class="id" title="definition">gen0</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genD"><span class="id" title="definition">genD</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_addNr"><span class="id" title="lemma">gen_addNr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_inverse"><span class="id" title="definition">left_inverse</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen0"><span class="id" title="definition">gen0</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genN"><span class="id" title="definition">genN</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genD"><span class="id" title="definition">genD</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_zmodMixin"><span class="id" title="definition">gen_zmodMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodMixin"><span class="id" title="abbreviation">ZmodMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_addA"><span class="id" title="lemma">gen_addA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_addC"><span class="id" title="lemma">gen_addC</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_add0r"><span class="id" title="lemma">gen_add0r</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_addNr"><span class="id" title="lemma">gen_addNr</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_zmodType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Zmodule.Exports.ZmodType"><span class="id" title="abbreviation">ZmodType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_zmodMixin"><span class="id" title="definition">gen_zmodMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.pval"><span class="id" title="definition">pval</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) := <a class="idref" href="mathcomp.algebra.mxpoly.html#rVpoly"><span class="id" title="definition">rVpoly</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.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) := <a class="idref" href="mathcomp.algebra.mxpoly.html#horner_mx"><span class="id" title="definition">horner_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.pval"><span class="id" title="definition">pval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen"><span class="id" title="definition">gen</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.F"><span class="id" title="variable">F</span></a>) := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.poly.html#5d46c3ff21505243f65fdae89313c246"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.poly.html#5d46c3ff21505243f65fdae89313c246"><span class="id" title="notation">P</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.genK"><span class="id" title="lemma">genK</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen"><span class="id" title="definition">gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#x"><span class="id" title="variable">x</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/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_inj"><span class="id" title="lemma">mxval_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.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval0"><span class="id" title="lemma">mxval0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</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> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxvalN"><span class="id" title="lemma">mxvalN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><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.mxrepresentation.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.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxvalD"><span class="id" title="lemma">mxvalD</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.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</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.mxrepresentation.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.mxrepresentation.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.mxval_sum"><span class="id" title="definition">mxval_sum</span></a> := <a class="idref" href="mathcomp.ssreflect.bigop.html#big_morph"><span class="id" title="lemma">big_morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxvalD"><span class="id" title="lemma">mxvalD</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval0"><span class="id" title="lemma">mxval0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen1"><span class="id" title="definition">gen1</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> 1).<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.genM"><span class="id" title="definition">genM</span></a> <span class="id" title="var">x</span> <span class="id" title="var">y</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.pval"><span class="id" title="definition">pval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.pval"><span class="id" title="definition">pval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#538b21ac9fb9938cd88200e5780e8f9d"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.pA"><span class="id" title="abbreviation">pA</span></a>)).<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.genV"><span class="id" title="definition">genV</span></a> <span class="id" title="var">x</span> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#mx_inv_horner"><span class="id" title="definition">mx_inv_horner</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">)^-1</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_gen1"><span class="id" title="lemma">mxval_gen1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen1"><span class="id" title="definition">gen1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_genM"><span class="id" title="lemma">mxval_genM</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.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</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.mxrepresentation.html#MatrixGenField.genM"><span class="id" title="definition">genM</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_genV"><span class="id" title="lemma">mxval_genV</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.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</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">x</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.mxrepresentation.html#MatrixGenField.genV"><span class="id" title="definition">genV</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mulA"><span class="id" title="lemma">gen_mulA</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#associative"><span class="id" title="definition">associative</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genM"><span class="id" title="definition">genM</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mulC"><span class="id" title="lemma">gen_mulC</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#commutative"><span class="id" title="definition">commutative</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genM"><span class="id" title="definition">genM</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mul1r"><span class="id" title="lemma">gen_mul1r</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_id"><span class="id" title="definition">left_id</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen1"><span class="id" title="definition">gen1</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genM"><span class="id" title="definition">genM</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mulDr"><span class="id" title="lemma">gen_mulDr</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#left_distributive"><span class="id" title="definition">left_distributive</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genM"><span class="id" title="definition">genM</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#327bb2f0da6fd7c01a004dedcfc2dee4"><span class="id" title="notation">R</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_ntriv"><span class="id" title="lemma">gen_ntriv</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen1"><span class="id" title="definition">gen1</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">Definition</span> <a name="MatrixGenField.gen_ringMixin"><span class="id" title="definition">gen_ringMixin</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingMixin"><span class="id" title="abbreviation">ComRingMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mulA"><span class="id" title="lemma">gen_mulA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mulC"><span class="id" title="lemma">gen_mulC</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mul1r"><span class="id" title="lemma">gen_mul1r</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mulDr"><span class="id" title="lemma">gen_mulDr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_ntriv"><span class="id" title="lemma">gen_ntriv</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_ringType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.RingType"><span class="id" title="abbreviation">RingType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_ringMixin"><span class="id" title="definition">gen_ringMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_comRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ComRing.Exports.ComRingType"><span class="id" title="abbreviation">ComRingType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mulC"><span class="id" title="lemma">gen_mulC</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval1"><span class="id" title="lemma">mxval1</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>. <br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxvalM"><span class="id" title="lemma">mxvalM</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.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</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.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#y"><span class="id" title="variable">y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#a0fd72584f326d7220475d01d3fceccd"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_sub"><span class="id" title="lemma">mxval_sub</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.additive"><span class="id" title="abbreviation">additive</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mxval_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval_sub"><span class="id" title="lemma">mxval_sub</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_is_multiplicative"><span class="id" title="lemma">mxval_is_multiplicative</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.multiplicative"><span class="id" title="abbreviation">multiplicative</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a>.<br/>
+ <span class="id" title="keyword">Canonical</span> <span class="id" title="var">mxval_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.AddRMorphism"><span class="id" title="abbreviation">AddRMorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval_is_multiplicative"><span class="id" title="lemma">mxval_is_multiplicative</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_centg"><span class="id" title="lemma">mxval_centg</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#x"><span class="id" title="variable">x</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mulVr"><span class="id" title="lemma">gen_mulVr</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.axiom"><span class="id" title="definition">GRing.Field.axiom</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genV"><span class="id" title="definition">genV</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_invr0"><span class="id" title="lemma">gen_invr0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.genV"><span class="id" title="definition">genV</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> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_unitRingMixin"><span class="id" title="definition">gen_unitRingMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldUnitMixin"><span class="id" title="abbreviation">FieldUnitMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mulVr"><span class="id" title="lemma">gen_mulVr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_invr0"><span class="id" title="lemma">gen_invr0</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_unitRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.UnitRing.Exports.UnitRingType"><span class="id" title="abbreviation">UnitRingType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_unitRingMixin"><span class="id" title="definition">gen_unitRingMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_comUnitRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">comUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#e3ee791c903b0283e51d52d0692558ec"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_fieldMixin"><span class="id" title="definition">gen_fieldMixin</span></a> :=<br/>
+&nbsp;&nbsp;@<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldMixin"><span class="id" title="abbreviation">FieldMixin</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">_</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.ssralg.html#GRing.Field.mixin_of"><span class="id" title="definition">GRing.Field.mixin_of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_unitRingType"><span class="id" title="definition">gen_unitRingType</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_idomainMixin"><span class="id" title="definition">gen_idomainMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldIdomainMixin"><span class="id" title="abbreviation">FieldIdomainMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_fieldMixin"><span class="id" title="definition">gen_fieldMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_idomainType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.IntegralDomain.Exports.IdomainType"><span class="id" title="abbreviation">IdomainType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_idomainMixin"><span class="id" title="definition">gen_idomainMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_fieldType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.FieldType"><span class="id" title="abbreviation">FieldType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_fieldMixin"><span class="id" title="definition">gen_fieldMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxvalV"><span class="id" title="lemma">mxvalV</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.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</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">x</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.mxrepresentation.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#f3016d4e55aa553d3e912592ec65e342"><span class="id" title="notation">^-1</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#invmx"><span class="id" title="definition">invmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_is_rmorphism"><span class="id" title="lemma">gen_is_rmorphism</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.rmorphism"><span class="id" title="abbreviation">rmorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen"><span class="id" title="definition">gen</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_additive</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Additive.Exports.Additive"><span class="id" title="abbreviation">Additive</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_is_rmorphism"><span class="id" title="lemma">gen_is_rmorphism</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_rmorphism</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.RMorphism.Exports.RMorphism"><span class="id" title="abbreviation">RMorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_is_rmorphism"><span class="id" title="lemma">gen_is_rmorphism</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ The generated field contains a root of the minimal polynomial (in some
+ cases we want to use the construction solely for that purpose).
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.groot"><span class="id" title="definition">groot</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#poly_rV"><span class="id" title="definition">poly_rV</span></a> (<a class="idref" href="mathcomp.algebra.poly.html#ffd3fc7e3c529f4febe87040923e7332"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.poly.html#ffd3fc7e3c529f4febe87040923e7332"><span class="id" title="notation">X</span></a> <a class="idref" href="mathcomp.algebra.polydiv.html#538b21ac9fb9938cd88200e5780e8f9d"><span class="id" title="notation">%%</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.pA"><span class="id" title="abbreviation">pA</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_groot"><span class="id" title="lemma">mxval_groot</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.groot"><span class="id" title="definition">groot</span></a> <a class="idref" href="http://coq.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#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxval_grootX"><span class="id" title="lemma">mxval_grootX</span></a> <span class="id" title="var">k</span> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.groot"><span class="id" title="definition">groot</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#k"><span class="id" title="variable">k</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.map_mxminpoly_groot"><span class="id" title="lemma">map_mxminpoly_groot</span></a> : <a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.poly.html#map_poly"><span class="id" title="definition">map_poly</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen"><span class="id" title="definition">gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.pA"><span class="id" title="abbreviation">pA</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">).[</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.groot"><span class="id" title="definition">groot</span></a><a class="idref" href="mathcomp.algebra.poly.html#9956cd3926e9966aa6979e465e39d037"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 0.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Plugging the extension morphism gen into the ext_repr construction
+ yields a (reducible) tensored representation.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.non_linear_gen_reducible"><span class="id" title="lemma">non_linear_gen_reducible</span></a> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</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.character.mxrepresentation.html#mxnonsimple"><span class="id" title="definition">mxnonsimple</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#map_repr"><span class="id" title="definition">map_repr</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_rmorphism"><span class="id" title="definition">gen_rmorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a>) 1<a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ An alternative to the above, used in the proof of the p-stability of
+ groups of odd order, is to reconsider the original vector space as a
+ vector space of dimension n / e over FA. This is applicable only if G is
+ the largest group represented on the original vector space (i.e., if we
+ are not studying a representation of G induced by one of a larger group,
+ as in B &amp; G Theorem 2.6 for instance). We can't fully exploit one of the
+ benefits of this approach -- that the type domain for the vector space can
+ remain unchanged -- because we're restricting ourselves to row matrices;
+ we have to use explicit bijections to convert between the two views.
+</div>
+<div class="code">
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.subbase"><span class="id" title="definition">subbase</span></a> <span class="id" title="var">m</span> (<span class="id" title="var">B</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_m</span></a>) : <a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</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#MatrixGenField.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> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_ik</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">,</span></a> <span class="id" title="var">k</span><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#k"><span class="id" title="variable">k</span></a>)<a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">)</span></a>) 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#ik"><span class="id" title="variable">ik</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_dim_ex_proof"><span class="id" title="lemma">gen_dim_ex_proof</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">m</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">∃</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_m</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.subbase"><span class="id" title="definition">subbase</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_dim_ub_proof"><span class="id" title="lemma">gen_dim_ub_proof</span></a> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">∃</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_m</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.subbase"><span class="id" title="definition">subbase</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#a843dcbb9dc2e69b147054d3e1465e78"><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.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.n"><span class="id" title="abbreviation">n</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_dim"><span class="id" title="definition">gen_dim</span></a> := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ex_maxn"><span class="id" title="definition">ex_maxn</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_dim_ex_proof"><span class="id" title="lemma">gen_dim_ex_proof</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_dim_ub_proof"><span class="id" title="lemma">gen_dim_ub_proof</span></a>.<br/>
+<span class="id" title="keyword">Notation</span> <a name="MatrixGenField.m"><span class="id" title="abbreviation">m</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_dim"><span class="id" title="definition">gen_dim</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_base"><span class="id" title="definition">gen_base</span></a> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_m</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#odflt"><span class="id" title="abbreviation">odflt</span></a> 0 <a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">pick</span></a> <span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.subbase"><span class="id" title="definition">subbase</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#B"><span class="id" title="variable">B</span></a>)<a class="idref" href="mathcomp.ssreflect.fintype.html#705e11e709bb3e1492e885a674508f9a"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.base"><span class="id" title="definition">base</span></a> := <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.subbase"><span class="id" title="definition">subbase</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_base"><span class="id" title="definition">gen_base</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.base_free"><span class="id" title="lemma">base_free</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_free"><span class="id" title="definition">row_free</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.base"><span class="id" title="definition">base</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.base_full"><span class="id" title="lemma">base_full</span></a> : <a class="idref" href="mathcomp.algebra.mxalgebra.html#row_full"><span class="id" title="definition">row_full</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.base"><span class="id" title="definition">base</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_dim_factor"><span class="id" title="lemma">gen_dim_factor</span></a> : (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">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.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.n"><span class="id" title="abbreviation">n</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_dim_gt0"><span class="id" title="lemma">gen_dim_gt0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixGenField.GenField.Bijection"><span class="id" title="section">Bijection</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MatrixGenField.GenField.Bijection.m1"><span class="id" title="variable">m1</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="MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> (<span class="id" title="var">W</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.mxrepresentation.html#MatrixGenField.GenField.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.mxrepresentation.html#MatrixGenField.GenField.Bijection.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.mxrepresentation.html#MatrixGenField.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>) : <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.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</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.mxrepresentation.html#MatrixGenField.GenField.Bijection.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e36c289fb249221b43b9c978a67340fb"><span class="id" title="notation">)</span></a> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">,</span></a> <span class="id" title="var">j</span><a class="idref" href="mathcomp.algebra.matrix.html#2c5155dd82e4555ad208e1f95e711672"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.inFA"><span class="id" title="variable">inFA</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.algebra.mxalgebra.html#pinvmx"><span class="id" title="definition">pinvmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.base"><span class="id" title="definition">base</span></a>))).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> (<span class="id" title="var">W</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.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</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.mxrepresentation.html#MatrixGenField.GenField.Bijection.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">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.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.mxrepresentation.html#MatrixGenField.GenField.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.mxrepresentation.html#MatrixGenField.GenField.Bijection.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.mxrepresentation.html#MatrixGenField.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_j</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</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.mxrepresentation.html#MatrixGenField.base"><span class="id" title="definition">base</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">)</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_genK"><span class="id" title="lemma">in_genK</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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_genK"><span class="id" title="lemma">val_genK</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.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_gen0"><span class="id" title="lemma">in_gen0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</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> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_gen0"><span class="id" title="lemma">val_gen0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</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> 0.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_genN"><span class="id" title="lemma">in_genN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">W</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_genN"><span class="id" title="lemma">val_genN</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">{</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">:</span></a> <span class="id" title="var">W</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#c3c88e2b30b681cd767a54649faf5973"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_genD"><span class="id" title="lemma">in_genD</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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</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">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#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_genD"><span class="id" title="lemma">val_genD</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.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</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">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#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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#3014e73af2a90fd800d8681479d76336"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.in_gen_sum"><span class="id" title="definition">in_gen_sum</span></a> := <a class="idref" href="mathcomp.ssreflect.bigop.html#big_morph"><span class="id" title="lemma">big_morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_genD"><span class="id" title="lemma">in_genD</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen0"><span class="id" title="lemma">in_gen0</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.val_gen_sum"><span class="id" title="definition">val_gen_sum</span></a> := <a class="idref" href="mathcomp.ssreflect.bigop.html#big_morph"><span class="id" title="lemma">big_morph</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_genD"><span class="id" title="lemma">val_genD</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen0"><span class="id" title="lemma">val_gen0</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_genZ"><span class="id" title="lemma">in_genZ</span></a> <span class="id" title="var">a</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="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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</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">W</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.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen"><span class="id" title="definition">gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.Bijection"><span class="id" title="section">Bijection</span></a>.<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_gen_rV"><span class="id" title="lemma">val_gen_rV</span></a> (<span class="id" title="var">w</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_m</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#w"><span class="id" title="variable">w</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_j</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.mxrepresentation.html#w"><span class="id" title="variable">w</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</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.mxrepresentation.html#MatrixGenField.base"><span class="id" title="definition">base</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixGenField.GenField.Bijection2"><span class="id" title="section">Bijection2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MatrixGenField.GenField.Bijection2.m1"><span class="id" title="variable">m1</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="MatrixGenField.val_gen_row"><span class="id" title="lemma">val_gen_row</span></a> <span class="id" title="var">W</span> (<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_m1</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_gen_row"><span class="id" title="lemma">in_gen_row</span></a> <span class="id" title="var">W</span> (<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_m1</span></a>) : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.row_gen_sum_mxval"><span class="id" title="lemma">row_gen_sum_mxval</span></a> <span class="id" title="var">W</span> (<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_m1</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#640778742e86daa97d31c9911c679af3"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#640778742e86daa97d31c9911c679af3"><span class="id" title="notation">sum_j</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_base"><span class="id" title="definition">gen_base</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_genZ"><span class="id" title="lemma">val_genZ</span></a> <span class="id" title="var">x</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="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.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.Bijection2.m1"><span class="id" title="variable">m1</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">W</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.mxrepresentation.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#81f8078534dcbb7e13a32d292f766525"><span class="id" title="notation">*:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.Bijection2"><span class="id" title="section">Bijection2</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.submx_in_gen"><span class="id" title="lemma">submx_in_gen</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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">V</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.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#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.submx_in_gen_eq"><span class="id" title="lemma">submx_in_gen_eq</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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">V</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.GenField.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.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#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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_mx"><span class="id" title="definition">gen_mx</span></a> <span class="id" title="var">g</span> := <a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_i</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_base"><span class="id" title="definition">gen_base</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.GenField.val_genJmx"><span class="id" title="variable">val_genJmx</span></a> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#MatrixGenField.GenField.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> <span class="id" title="keyword">∀</span> <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><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.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">:</span></a> <span class="id" title="var">W</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mx"><span class="id" title="definition">gen_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mx_repr"><span class="id" title="lemma">gen_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.mxrepresentation.html#MatrixGenField.GenField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_mx"><span class="id" title="definition">gen_mx</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_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.mxrepresentation.html#MatrixGenField.gen_mx_repr"><span class="id" title="lemma">gen_mx_repr</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.val_genJ"><span class="id" title="lemma">val_genJ</span></a> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#MatrixGenField.GenField.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> <span class="id" title="keyword">∀</span> <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><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.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">:</span></a> <span class="id" title="var">W</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.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#W"><span class="id" title="variable">W</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.algebra.matrix.html#9c6b777e699b0b93592b907e7450465e"><span class="id" title="notation">m</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.in_genJ"><span class="id" title="lemma">in_genJ</span></a> <span class="id" title="var">m</span> :<br/>
+&nbsp;&nbsp;<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.mxrepresentation.html#MatrixGenField.GenField.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> <span class="id" title="keyword">∀</span> <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><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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">:</span></a> <span class="id" title="var">v</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#59b5bb4add86e1e9ecbe874e74b2216e"><span class="id" title="notation">&gt;-&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#g"><span class="id" title="variable">g</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.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.ssrbool.html#5c59b35a0b51db520cf1fba473ecf127"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rfix_gen"><span class="id" title="lemma">rfix_gen</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.mxrepresentation.html#MatrixGenField.GenField.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/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.GenField.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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</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.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#H"><span class="id" title="variable">H</span></a>))%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">U</span> :=<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&lt;&lt;</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#e284a17aae67e9e1847f9d0558653fbb"><span class="id" title="notation">matrix_ik</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">matrix_</span></a><a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#m1"><span class="id" title="variable">m1</span></a><a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">,</span></a> <span class="id" title="var">k</span> <a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">&lt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a><a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.matrix.html#row"><span class="id" title="definition">row</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.val_gen"><span class="id" title="definition">val_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.GenField.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fb22424322c3d7eb9b837dfca65ce21e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.algebra.matrix.html#a1ae6dfa405702e5140c413e1b5a2fad"><span class="id" title="notation">)</span></a>) 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#ik"><span class="id" title="variable">ik</span></a><a class="idref" href="mathcomp.algebra.mxalgebra.html#d5ec63f878af68490dd200946b5fc43e"><span class="id" title="notation">&gt;&gt;</span></a>%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.submx_rowval_gen"><span class="id" title="lemma">submx_rowval_gen</span></a> <span class="id" title="var">m1</span> <span class="id" title="var">m2</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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">V</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#V"><span class="id" title="variable">V</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rowval_genK"><span class="id" title="lemma">rowval_genK</span></a> <span class="id" title="var">m1</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">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.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>) <a class="idref" href="mathcomp.algebra.mxalgebra.html#996fe23bb3b2a56fc494fe9a0a3c2cd1"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rowval_gen_stable"><span class="id" title="lemma">rowval_gen_stable</span></a> <span class="id" title="var">m1</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;(<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.GenField.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.mxrepresentation.html#MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>)%<span class="id" title="var">MS</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rstab_in_gen"><span class="id" title="lemma">rstab_in_gen</span></a> <span class="id" title="var">m1</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstab"><span class="id" title="definition">rstab</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rstabs_in_gen"><span class="id" title="lemma">rstabs_in_gen</span></a> <span class="id" title="var">m1</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.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>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</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#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.in_gen"><span class="id" title="definition">in_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rstabs_rowval_gen"><span class="id" title="lemma">rstabs_rowval_gen</span></a> <span class="id" title="var">m1</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#rstabs"><span class="id" title="definition">rstabs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.mxmodule_rowval_gen"><span class="id" title="lemma">mxmodule_rowval_gen</span></a> <span class="id" title="var">m1</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.mxrepresentation.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.mxrepresentation.html#MatrixGenField.m"><span class="id" title="abbreviation">m</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cb37620352ad6b90a047a361359e2f04"><span class="id" title="notation">)</span></a>) :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#mxmodule"><span class="id" title="definition">mxmodule</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.rowval_gen"><span class="id" title="definition">rowval_gen</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#U"><span class="id" title="variable">U</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mx_irr"><span class="id" title="lemma">gen_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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.rker_gen"><span class="id" title="lemma">rker_gen</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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_mx_faithful"><span class="id" title="lemma">gen_mx_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.mxrepresentation.html#MatrixGenField.rGA"><span class="id" title="abbreviation">rGA</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#MatrixGenField.GenField.rG"><span class="id" title="variable">rG</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.GenField"><span class="id" title="section">GenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixGenField.DecideGenField"><span class="id" title="section">DecideGenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Import</span> <span class="id" title="var">MatrixFormula</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variable</span> <a name="MatrixGenField.DecideGenField.F"><span class="id" title="variable">F</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports.decFieldType"><span class="id" title="abbreviation">decFieldType</span></a>.<br/>
+
+<br/>
+
+<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixGenField.DecideGenField.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="MatrixGenField.DecideGenField.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.mxrepresentation.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="MatrixGenField.DecideGenField.n'"><span class="id" title="variable">n'</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixGenField.DecideGenField.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.mxrepresentation.html#MatrixGenField.DecideGenField.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.n"><span class="id" title="abbreviation">n</span></a>) (<a name="MatrixGenField.DecideGenField.A"><span class="id" title="variable">A</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.mxrepresentation.html#MatrixGenField.DecideGenField.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>).<br/>
+<span class="id" title="keyword">Hypotheses</span> (<a name="MatrixGenField.DecideGenField.irrG"><span class="id" title="variable">irrG</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.mxrepresentation.html#MatrixGenField.DecideGenField.rG"><span class="id" title="variable">rG</span></a>) (<a name="MatrixGenField.DecideGenField.cGA"><span class="id" title="variable">cGA</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.A"><span class="id" title="variable">A</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.DecideGenField.d_gt0"><span class="id" title="variable">d_gt0</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#19ab5cfd7e4f60fa14f22b576013bd96"><span class="id" title="notation">&gt;</span></a> 0 := <a class="idref" href="mathcomp.algebra.mxpoly.html#mxminpoly_nonconstant"><span class="id" title="lemma">mxminpoly_nonconstant</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.A"><span class="id" title="variable">A</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.DecideGenField.mxT"><span class="id" title="variable">mxT</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_d</span></a>) := <a class="idref" href="mathcomp.algebra.matrix.html#vec_mx"><span class="id" title="definition">vec_mx</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mulmx_term"><span class="id" title="definition">mulmx_term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.Ad"><span class="id" title="abbreviation">Ad</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.DecideGenField.eval_mxT"><span class="id" title="variable">eval_mxT</span></a> <span class="id" title="var">e</span> <span class="id" title="var">u</span> : <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.mxT"><span class="id" title="variable">mxT</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.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#MatrixGenField.mxval"><span class="id" title="definition">mxval</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.inFA"><span class="id" title="abbreviation">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.DecideGenField.Ad'T"><span class="id" title="variable">Ad'T</span></a> := <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> (<a class="idref" href="mathcomp.algebra.mxalgebra.html#pinvmx"><span class="id" title="definition">pinvmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.Ad"><span class="id" title="abbreviation">Ad</span></a>).<br/>
+<span class="id" title="keyword">Let</span> <a name="MatrixGenField.DecideGenField.mulT"><span class="id" title="variable">mulT</span></a> (<span class="id" title="var">u</span> <span class="id" title="var">v</span> : <a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.matrix.html#2bf09b7202225c789149165667752fab"><span class="id" title="notation">rV_d</span></a>) := <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mulmx_term"><span class="id" title="definition">mulmx_term</span></a> (<a class="idref" href="mathcomp.algebra.matrix.html#mxvec"><span class="id" title="definition">mxvec</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mulmx_term"><span class="id" title="definition">mulmx_term</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.mxT"><span class="id" title="variable">mxT</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.mxT"><span class="id" title="variable">mxT</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a>))) <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.Ad'T"><span class="id" title="variable">Ad'T</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.eval_mulT"><span class="id" title="lemma">eval_mulT</span></a> <span class="id" title="var">e</span> <span class="id" title="var">u</span> <span class="id" title="var">v</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.mulT"><span class="id" title="variable">mulT</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.inFA"><span class="id" title="abbreviation">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#u"><span class="id" title="variable">u</span></a>) <a class="idref" href="mathcomp.algebra.ssralg.html#22058a36a53dac65c94ca403bc62650a"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.inFA"><span class="id" title="abbreviation">inFA</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Fixpoint</span> <a name="MatrixGenField.gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t</span> := <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#t"><span class="id" title="variable">t</span></a> <span class="id" title="keyword">with</span><br/>
+| <a class="idref" href="mathcomp.algebra.ssralg.html#17323b79d87a46c8afbe9d49f25575c2"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#17323b79d87a46c8afbe9d49f25575c2"><span class="id" title="notation">X_k</span></a> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.row_var"><span class="id" title="definition">row_var</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a> <span class="id" title="var">k</span><br/>
+| <span class="id" title="var">x</span><a class="idref" href="mathcomp.algebra.ssralg.html#1fdca15973cff7a8b815ed2990d73bc4"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#1fdca15973cff7a8b815ed2990d73bc4"><span class="id" title="notation">T</span></a> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<span class="id" title="var">x</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.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>))<br/>
+| <span class="id" title="var">n1</span><a class="idref" href="mathcomp.algebra.ssralg.html#195545709d5aae552b0abf942409ca94"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#195545709d5aae552b0abf942409ca94"><span class="id" title="notation">R</span></a> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<span class="id" title="var">n1</span><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="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.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>))%<span class="id" title="var">R</span><br/>
+| <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#07427e42f32066043366f5a0e6f91c69"><span class="id" title="notation">+</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">row_i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span> 0%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#07427e42f32066043366f5a0e6f91c69"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t2</span> 0%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">)</span></a><br/>
+| <a class="idref" href="mathcomp.algebra.ssralg.html#74e776e67b9907da5a8bb8395abcbb3a"><span class="id" title="notation">-</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">row_i</span></a> <a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#74e776e67b9907da5a8bb8395abcbb3a"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span> 0%<span class="id" title="var">R</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.algebra.matrix.html#cf6654c80d96ae2da5730746e8dfeac4"><span class="id" title="notation">)</span></a><br/>
+| <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#8e2e8a4eb864fa5c2791d432c56d15a6"><span class="id" title="notation">*+</span></a> <span class="id" title="var">n1</span> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mulmx_term"><span class="id" title="definition">mulmx_term</span></a> (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> <span class="id" title="var">n1</span><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.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">%:</span></a><a class="idref" href="mathcomp.algebra.matrix.html#6bc5aad53caab585f4bb088e10501342"><span class="id" title="notation">M</span></a>)%<span class="id" title="var">R</span> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span>)<br/>
+| <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#9be2d223eee11d745162c85997d077aa"><span class="id" title="notation">×</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.mulT"><span class="id" title="variable">mulT</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t2</span>)<br/>
+| <span class="id" title="var">t1</span><a class="idref" href="mathcomp.algebra.ssralg.html#945cbc254830540ee68b2936209ea6c1"><span class="id" title="notation">^-1</span></a> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span><br/>
+| <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#3d77c0fa24e5cf0fab5a0c94d232f5c2"><span class="id" title="notation">^+</span></a> <span class="id" title="var">n1</span> ⇒ <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <span class="id" title="var">n1</span> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField.mulT"><span class="id" title="variable">mulT</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span>)) (<a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mx_term"><span class="id" title="definition">mx_term</span></a> (<a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (1%<span class="id" title="var">R</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.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>)))<br/>
+<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_env"><span class="id" title="definition">gen_env</span></a> (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) := <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.row_env"><span class="id" title="definition">row_env</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</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.mxrepresentation.html#e"><span class="id" title="variable">e</span></a>).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.nth_map_rVval"><span class="id" title="lemma">nth_map_rVval</span></a> (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) <span class="id" title="var">j</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_j</span></a> <a class="idref" href="http://coq.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.mxrepresentation.html#e"><span class="id" title="variable">e</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#9625b440a0052f6dbfd015f5bb8b5125"><span class="id" title="notation">_j</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.set_nth_map_rVval"><span class="id" title="lemma">set_nth_map_rVval</span></a> (<span class="id" title="var">e</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a>) <span class="id" title="var">j</span> <span class="id" title="var">v</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</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.mxrepresentation.html#e"><span class="id" title="variable">e</span></a>) <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<a class="idref" href="mathcomp.ssreflect.seq.html#set_nth"><span class="id" title="definition">set_nth</span></a> 0 <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#j"><span class="id" title="variable">j</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.inFA"><span class="id" title="abbreviation">inFA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#v"><span class="id" title="variable">v</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.eval_gen_term"><span class="id" title="lemma">eval_gen_term</span></a> <span class="id" title="var">e</span> <span class="id" title="var">t</span> : <br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rterm"><span class="id" title="definition">GRing.rterm</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#t"><span class="id" title="variable">t</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.mxpoly.html#MatrixFormula.eval_mx"><span class="id" title="definition">eval_mx</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_env"><span class="id" title="definition">gen_env</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_term"><span class="id" title="definition">gen_term</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#t"><span class="id" title="variable">t</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#val"><span class="id" title="projection">val</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.eval"><span class="id" title="definition">GRing.eval</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#t"><span class="id" title="variable">t</span></a>).<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ WARNING: Coq will core dump if the Notation Bool is used in the match
+ pattern here.
+</div>
+<div class="code">
+<span class="id" title="keyword">Fixpoint</span> <a name="MatrixGenField.gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f</span> := <span class="id" title="keyword">match</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <span class="id" title="keyword">with</span><br/>
+| <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Bool"><span class="id" title="constructor">GRing.Bool</span></a> <span class="id" title="var">b</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.Bool"><span class="id" title="abbreviation">Bool</span></a> <span class="id" title="var">b</span><br/>
+| <span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#9cd193463422c398e84dc63b7a4a91e1"><span class="id" title="notation">==</span></a> <span class="id" title="var">t2</span> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mxrank_form"><span class="id" title="definition">mxrank_form</span></a> 0 (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_term"><span class="id" title="definition">gen_term</span></a> (<span class="id" title="var">t1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#4a62fcd6d8b92bd91e210969e6044405"><span class="id" title="notation">-</span></a> <span class="id" title="var">t2</span>))<br/>
+| <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Unit"><span class="id" title="constructor">GRing.Unit</span></a> <span class="id" title="var">t1</span> ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.mxrank_form"><span class="id" title="definition">mxrank_form</span></a> 1 (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_term"><span class="id" title="definition">gen_term</span></a> <span class="id" title="var">t1</span>)<br/>
+| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#34bfd1085795ea0dabf4707f6dcc9f24"><span class="id" title="notation">∧</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#34bfd1085795ea0dabf4707f6dcc9f24"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f2</span><br/>
+| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cedb2229ee03a356646d7d079363f569"><span class="id" title="notation">∨</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#cedb2229ee03a356646d7d079363f569"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f2</span><br/>
+| <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#75d27ccd6bafab0712ff32ca70588f75"><span class="id" title="notation">==&gt;</span></a> <span class="id" title="var">f2</span> ⇒ <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f1</span> <a class="idref" href="mathcomp.algebra.ssralg.html#75d27ccd6bafab0712ff32ca70588f75"><span class="id" title="notation">==&gt;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f2</span><br/>
+| <a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">¬</span></a> <span class="id" title="var">f1</span> ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f1</span><br/>
+| (<a class="idref" href="mathcomp.algebra.ssralg.html#fab74d9e9116665439f309d85c75cb19"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fab74d9e9116665439f309d85c75cb19"><span class="id" title="notation">∃</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#fab74d9e9116665439f309d85c75cb19"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fab74d9e9116665439f309d85c75cb19"><span class="id" title="notation">X_k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#fab74d9e9116665439f309d85c75cb19"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.Exists_row_form"><span class="id" title="definition">Exists_row_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a> <span class="id" title="var">k</span> (<a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f1</span>)<br/>
+| (<a class="idref" href="mathcomp.algebra.ssralg.html#947870d152796aac71cef25a081c58e4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#947870d152796aac71cef25a081c58e4"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#947870d152796aac71cef25a081c58e4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#947870d152796aac71cef25a081c58e4"><span class="id" title="notation">X_k</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#947870d152796aac71cef25a081c58e4"><span class="id" title="notation">,</span></a> <span class="id" title="var">f1</span>) ⇒ <a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.mxpoly.html#MatrixFormula.Exists_row_form"><span class="id" title="definition">Exists_row_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.d"><span class="id" title="abbreviation">d</span></a> <span class="id" title="var">k</span> (<a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">¬</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#gen_form"><span class="id" title="definition">gen_form</span></a> <span class="id" title="var">f1</span><a class="idref" href="mathcomp.algebra.ssralg.html#4fa42a7f6c286acb6f527202ebab0b57"><span class="id" title="notation">)</span></a>)<br/>
+<span class="id" title="keyword">end</span>%<span class="id" title="var">T</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.sat_gen_form"><span class="id" title="lemma">sat_gen_form</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.rformula"><span class="id" title="definition">GRing.rformula</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.holds"><span class="id" title="definition">GRing.holds</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>) (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">GRing.sat</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_env"><span class="id" title="definition">gen_env</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_form"><span class="id" title="definition">gen_form</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_sat"><span class="id" title="definition">gen_sat</span></a> <span class="id" title="var">e</span> <span class="id" title="var">f</span> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.sat"><span class="id" title="definition">GRing.sat</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_env"><span class="id" title="definition">gen_env</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#e"><span class="id" title="variable">e</span></a>) (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_form"><span class="id" title="definition">gen_form</span></a> (<a class="idref" href="mathcomp.algebra.ssralg.html#GRing.to_rform"><span class="id" title="definition">GRing.to_rform</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#f"><span class="id" title="variable">f</span></a>)).<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.gen_satP"><span class="id" title="lemma">gen_satP</span></a> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.axiom"><span class="id" title="definition">GRing.DecidableField.axiom</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_sat"><span class="id" title="definition">gen_sat</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_decFieldMixin"><span class="id" title="definition">gen_decFieldMixin</span></a> := <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports.DecFieldMixin"><span class="id" title="abbreviation">DecFieldMixin</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_satP"><span class="id" title="lemma">gen_satP</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_decFieldType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.DecidableField.Exports.DecFieldType"><span class="id" title="abbreviation">DecFieldType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_decFieldMixin"><span class="id" title="definition">gen_decFieldMixin</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.DecideGenField"><span class="id" title="section">DecideGenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Section</span> <a name="MatrixGenField.FiniteGenField"><span class="id" title="section">FiniteGenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixGenField.FiniteGenField.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>) (<a name="MatrixGenField.FiniteGenField.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="MatrixGenField.FiniteGenField.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.mxrepresentation.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="MatrixGenField.FiniteGenField.n'"><span class="id" title="variable">n'</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/>
+<span class="id" title="keyword">Variables</span> (<a name="MatrixGenField.FiniteGenField.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.mxrepresentation.html#MatrixGenField.FiniteGenField.F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.n"><span class="id" title="abbreviation">n</span></a>) (<a name="MatrixGenField.FiniteGenField.A"><span class="id" title="variable">A</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.mxrepresentation.html#MatrixGenField.FiniteGenField.F"><span class="id" title="variable">F</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.algebra.matrix.html#d837c1a28d718b1ce93b8aa0ad2f20fe"><span class="id" title="notation">_n</span></a>).<br/>
+<span class="id" title="keyword">Hypotheses</span> (<a name="MatrixGenField.FiniteGenField.irrG"><span class="id" title="variable">irrG</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.mxrepresentation.html#MatrixGenField.FiniteGenField.rG"><span class="id" title="variable">rG</span></a>) (<a name="MatrixGenField.FiniteGenField.cGA"><span class="id" title="variable">cGA</span></a> : <a class="idref" href="mathcomp.character.mxrepresentation.html#centgmx"><span class="id" title="definition">centgmx</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.rG"><span class="id" title="variable">rG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.A"><span class="id" title="variable">A</span></a>).<br/>
+<span class="id" title="keyword">Notation</span> <a name="MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> := (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_of"><span class="id" title="record">gen_of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.irrG"><span class="id" title="variable">irrG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.cGA"><span class="id" title="variable">cGA</span></a>).<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ This should be [countMixin of FA by &lt;: ]
+</div>
+<div class="code">
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_countMixin"><span class="id" title="definition">gen_countMixin</span></a> := (<a class="idref" href="mathcomp.ssreflect.choice.html#sub_countMixin"><span class="id" title="definition">sub_countMixin</span></a> (<a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_subType"><span class="id" title="definition">gen_subType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.irrG"><span class="id" title="variable">irrG</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.cGA"><span class="id" title="variable">cGA</span></a>)).<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_countType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#Countable.Exports.CountType"><span class="id" title="abbreviation">CountType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_countMixin"><span class="id" title="definition">gen_countMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_subCountType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">subCountType</span></a> <a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.ssreflect.choice.html#8a7192fa64a42310658fd5be07ae4fcc"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Definition</span> <a name="MatrixGenField.gen_finMixin"><span class="id" title="definition">gen_finMixin</span></a> := <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">finMixin</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#8c180561768185dd10396a5d3615104a"><span class="id" title="notation">&lt;:]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#Finite.Exports.FinType"><span class="id" title="abbreviation">FinType</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.gen_finMixin"><span class="id" title="definition">gen_finMixin</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_subFinType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">subFinType</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#a701c7b60b4a16f07950761d8bf90924"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finZmodType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#2980bb304205aec85bc1eeb5d0a573a5"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#2980bb304205aec85bc1eeb5d0a573a5"><span class="id" title="notation">finZmodType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#2980bb304205aec85bc1eeb5d0a573a5"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#2980bb304205aec85bc1eeb5d0a573a5"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_baseFinGroupType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">baseFinGroupType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.finalg.html#ee332ddd6e3626489ee70ea4c624f1cd"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finGroupType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">finGroupType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">for</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">+%</span></a><a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">R</span></a><a class="idref" href="mathcomp.algebra.finalg.html#ad4d9ed93eeed8e8e57c81c6e35699c4"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#cf58bd711195f609ec57107fc402496c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#cf58bd711195f609ec57107fc402496c"><span class="id" title="notation">finRingType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#cf58bd711195f609ec57107fc402496c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#cf58bd711195f609ec57107fc402496c"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finComRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#381777e14bce98b548cb274563c7fc56"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#381777e14bce98b548cb274563c7fc56"><span class="id" title="notation">finComRingType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#381777e14bce98b548cb274563c7fc56"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#381777e14bce98b548cb274563c7fc56"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finUnitRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#7f21453830587186138043335ab91dd1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#7f21453830587186138043335ab91dd1"><span class="id" title="notation">finUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#7f21453830587186138043335ab91dd1"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#7f21453830587186138043335ab91dd1"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finComUnitRingType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#f0aa4fcf143660f4378ecfead8f3fdda"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#f0aa4fcf143660f4378ecfead8f3fdda"><span class="id" title="notation">finComUnitRingType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#f0aa4fcf143660f4378ecfead8f3fdda"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#f0aa4fcf143660f4378ecfead8f3fdda"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finIdomainType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#6c49b73b4d6aa1a932fafe7684bba39c"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#6c49b73b4d6aa1a932fafe7684bba39c"><span class="id" title="notation">finIdomainType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#6c49b73b4d6aa1a932fafe7684bba39c"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#6c49b73b4d6aa1a932fafe7684bba39c"><span class="id" title="notation">]</span></a>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finFieldType</span> := <span class="id" title="keyword">Eval</span> <span class="id" title="tactic">hnf</span> <span class="id" title="tactic">in</span> <a class="idref" href="mathcomp.algebra.finalg.html#07fdfbae2c02044f4dae6b5dbeb0c7c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.finalg.html#07fdfbae2c02044f4dae6b5dbeb0c7c7"><span class="id" title="notation">finFieldType</span></a> <a class="idref" href="mathcomp.algebra.finalg.html#07fdfbae2c02044f4dae6b5dbeb0c7c7"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="mathcomp.algebra.finalg.html#07fdfbae2c02044f4dae6b5dbeb0c7c7"><span class="id" title="notation">]</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="MatrixGenField.card_gen"><span class="id" title="lemma">card_gen</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.ssr.ssrbool.html#74a34ed1f9b36f83662203527a970b09"><span class="id" title="notation">{:</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FA"><span class="id" title="abbreviation">FA</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#74a34ed1f9b36f83662203527a970b09"><span class="id" title="notation">}</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.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.mxpoly.html#degree_mxminpoly"><span class="id" title="definition">degree_mxminpoly</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField.A"><span class="id" title="variable">A</span></a>)%<span class="id" title="var">N</span>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField.FiniteGenField"><span class="id" title="section">FiniteGenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#MatrixGenField"><span class="id" title="module">MatrixGenField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_subType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_eqType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_choiceType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_countType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_subCountType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_subFinType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_zmodType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finZmodType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_baseFinGroupType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finGroupType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_ringType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_comRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finComRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_unitRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finUnitRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_comUnitRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finComUnitRingType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_idomainType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finIdomainType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_fieldType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_finFieldType</span>.<br/>
+<span class="id" title="keyword">Canonical</span> <span class="id" title="var">gen_decFieldType</span>.<br/>
+
+<br/>
+</div>
+
+<div class="doc">
+ Classical splitting and closure field constructions provide convenient
+ packaging for the pointwise construction.
+</div>
+<div class="code">
+<span class="id" title="keyword">Section</span> <a name="BuildSplittingField"><span class="id" title="section">BuildSplittingField</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <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>.<br/>
+<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="group_splitting_field_exists"><span class="id" title="lemma">group_splitting_field_exists</span></a> <span class="id" title="var">gT</span> (<span class="id" title="var">G</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.mxrepresentation.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>) <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">{</span></a><span class="id" title="var">Fs</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Fs"><span class="id" title="variable">Fs</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</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.mxrepresentation.html#Fs"><span class="id" title="variable">Fs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="group_closure_field_exists"><span class="id" title="lemma">group_closure_field_exists</span></a> <span class="id" title="var">gT</span> <span class="id" title="var">F</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#classically"><span class="id" title="definition">classically</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">{</span></a><span class="id" title="var">Fs</span> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Field.Exports.fieldType"><span class="id" title="abbreviation">fieldType</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">rmorphism</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Fs"><span class="id" title="variable">Fs</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0c709ebe43ddbd7719f75250a7b916d9"><span class="id" title="notation">}</span></a><br/>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">&amp;</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#group_closure_field"><span class="id" title="definition">group_closure_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#Fs"><span class="id" title="variable">Fs</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Specif.html#e4098fb21bb0cc5ef8d3e3bf7391b88b"><span class="id" title="notation">}</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">Lemma</span> <a name="group_closure_closed_field"><span class="id" title="lemma">group_closure_closed_field</span></a> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.ClosedField.Exports.closedFieldType"><span class="id" title="abbreviation">closedFieldType</span></a>) <span class="id" title="var">gT</span> :<br/>
+&nbsp;&nbsp;<a class="idref" href="mathcomp.character.mxrepresentation.html#group_closure_field"><span class="id" title="definition">group_closure_field</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.character.mxrepresentation.html#gT"><span class="id" title="variable">gT</span></a>.<br/>
+
+<br/>
+<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.character.mxrepresentation.html#BuildSplittingField"><span class="id" title="section">BuildSplittingField</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