diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.solvable.abelian.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.solvable.abelian.html | 1158 |
1 files changed, 0 insertions, 1158 deletions
diff --git a/docs/htmldoc/mathcomp.solvable.abelian.html b/docs/htmldoc/mathcomp.solvable.abelian.html deleted file mode 100644 index 5efbaa9..0000000 --- a/docs/htmldoc/mathcomp.solvable.abelian.html +++ /dev/null @@ -1,1158 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" -"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<link href="coqdoc.css" rel="stylesheet" type="text/css" /> -<title>mathcomp.solvable.abelian</title> -</head> - -<body> - -<div id="page"> - -<div id="header"> -</div> - -<div id="main"> - -<h1 class="libtitle">Library mathcomp.solvable.abelian</h1> - -<div class="code"> -<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> - Distributed under the terms of CeCILL-B. *)</span><br/> - -<br/> -</div> - -<div class="doc"> - Constructions based on abelian groups and their structure, with some - emphasis on elementary abelian p-groups. - 'Ldiv_n == the set of all x that satisfy x ^+ n = 1, or, - equivalently the set of x whose order divides n. - 'Ldiv_n(G) == the set of x in G that satisfy x ^+ n = 1. - := G :&: 'Ldiv_n (pure Notation) - exponent G == the exponent of G: the least e such that x ^+ e = 1 - for all x in G (the LCM of the orders of x \in G). - If G is nilpotent its exponent is reached. Note that - `exponent G %| m' reads as `G has exponent m'. - 'm(G) == the generator rank of G: the size of a smallest - generating set for G (this is a basis for G if G - abelian). - abelian_type G == the abelian type of G : if G is abelian, a lexico- - graphically maximal sequence of the orders of the - elements of a minimal basis of G (if G is a p-group - this is the sequence of orders for any basis of G, - sorted in decending order). - homocyclic G == G is the direct product of cycles of equal order, - i.e., G is abelian with constant abelian type. - p.-abelem G == G is an elementary abelian p-group, i.e., it is - an abelian p-group of exponent p, and thus of order - p ^ 'm(G) and rank (logn p #|G|). - is_abelem G == G is an elementary abelian p-group for some prime p. - 'E_p(G) == the set of elementary abelian p-subgroups of G. - := [set E : {group _} | p.-abelem E & E \subset G] - 'E_p^n(G) == the set of elementary abelian p-subgroups of G of - order p ^ n (or, equivalently, of rank n). - := [set E in 'E_p(G) | logn p #|E| == n] - := [set E in 'E_p(G) | #|E| == p ^ n]%N if p is prime - 'E*<i>p(G) == the set of maximal elementary abelian p-subgroups - of G. - := [set E | [max E | E \in 'E_p(G) ]#] - 'E^n(G) == the set of elementary abelian subgroups of G that - have gerank n (i.e., p-rank n for some prime p). - := \bigcup</i>(0 <= p < #|G|.+1) 'E_p^n(G) - 'r_p(G) == the p-rank of G: the maximal rank of an elementary - subgroup of G. - := \max(E in 'E_p(G)) logn p #|E|. - 'r(G) == the rank of G. - := \max(0 <= p < #|G|.+1) 'm_p(G). - Note that 'r(G) coincides with 'r_p(G) if G is a p-group, and with 'm(G) - if G is abelian, but is much more useful than 'm(G) in the proof of the - Odd Order Theorem. - 'Ohm_n(G) == the group generated by the x in G with order p ^ m - for some prime p and some m <= n. Usually, G will be - a p-group, so 'Ohm_n(G) will be generated by - 'Ldiv(p ^ n)(G), set of elements of G of order at - most p ^ n. If G is also abelian then 'Ohm_n(G) - consists exactly of those element, and the abelian - type of G can be computed from the orders of the - 'Ohm_n(G) subgroups. - 'Mho^n(G) == the group generated by the x ^+ (p ^ n) for x a - p-element of G for some prime p. Usually G is a - p-group, and 'Mho^n(G) is generated by all such - x ^+ (p ^ n); it consists of exactly these if G is - also abelian. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Set Implicit Arguments</span>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GroupScope</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="AbelianDefs"><span class="id" title="section">AbelianDefs</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - We defer the definition of the functors ('Omh_n(G), 'Mho^n(G)) because - they must quantify over the finGroupType explicitly. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="AbelianDefs.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#AbelianDefs.gT"><span class="id" title="variable">gT</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianDefs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">pi</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a>) (<span class="id" title="var">p</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Ldiv"><span class="id" title="definition">Ldiv</span></a> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianDefs.gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="mathcomp.ssreflect.finset.html#6ac1c202d9451e0a66d4fc93e5d9b44b"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="exponent"><span class="id" title="definition">exponent</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.div.html#lcmn"><span class="id" title="definition">lcmn</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">/</span></a>1%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#d37140b0b5d9683da109df6bc7f32772"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="abelem"><span class="id" title="definition">abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> := <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">[&&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><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.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#5a7d806905be2a0d04047156433535f1"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="is_abelem"><span class="id" title="definition">is_abelem</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.solvable.abelian.html#abelem"><span class="id" title="definition">abelem</span></a> (<a class="idref" href="mathcomp.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>) <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="pElem"><span class="id" title="definition">pElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#3e9d12914c7607378976c499a50a47c7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#3e9d12914c7607378976c499a50a47c7"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#3e9d12914c7607378976c499a50a47c7"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianDefs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#3e9d12914c7607378976c499a50a47c7"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#3e9d12914c7607378976c499a50a47c7"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelem"><span class="id" title="definition">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#3e9d12914c7607378976c499a50a47c7"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="pnElem"><span class="id" title="definition">pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#pElem"><span class="id" title="definition">pElem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="nElem"><span class="id" title="definition">nElem</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#b9d6f3ed66560a6433d353918a698990"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b9d6f3ed66560a6433d353918a698990"><span class="id" title="notation">bigcup_</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b9d6f3ed66560a6433d353918a698990"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.finset.html#b9d6f3ed66560a6433d353918a698990"><span class="id" title="notation">≤</span></a> <span class="id" title="var">p</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b9d6f3ed66560a6433d353918a698990"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b9d6f3ed66560a6433d353918a698990"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#pnElem"><span class="id" title="definition">pnElem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="pmaxElem"><span class="id" title="definition">pmaxElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.finset.html#9e3f1d0cf47c39e3927b1f03a0797327"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9e3f1d0cf47c39e3927b1f03a0797327"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#9e3f1d0cf47c39e3927b1f03a0797327"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#e6278be94ff3547a5d055628cea199c4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#e6278be94ff3547a5d055628cea199c4"><span class="id" title="notation">max</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.fingroup.fingroup.html#e6278be94ff3547a5d055628cea199c4"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#pElem"><span class="id" title="definition">pElem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#e6278be94ff3547a5d055628cea199c4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#9e3f1d0cf47c39e3927b1f03a0797327"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="p_rank"><span class="id" title="definition">p_rank</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#ec60518d5ab0e853ea27ade01a2f345b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec60518d5ab0e853ea27ade01a2f345b"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec60518d5ab0e853ea27ade01a2f345b"><span class="id" title="notation">(</span></a><span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#ec60518d5ab0e853ea27ade01a2f345b"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#pElem"><span class="id" title="definition">pElem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#ec60518d5ab0e853ea27ade01a2f345b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="rank"><span class="id" title="definition">rank</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.bigop.html#a17f5f325fb114ca17db732e2418a0ad"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a17f5f325fb114ca17db732e2418a0ad"><span class="id" title="notation">max_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a17f5f325fb114ca17db732e2418a0ad"><span class="id" title="notation">(</span></a>0 <a class="idref" href="mathcomp.ssreflect.bigop.html#a17f5f325fb114ca17db732e2418a0ad"><span class="id" title="notation">≤</span></a> <span class="id" title="var">p</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#a17f5f325fb114ca17db732e2418a0ad"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#a17f5f325fb114ca17db732e2418a0ad"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p_rank"><span class="id" title="definition">p_rank</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="gen_rank"><span class="id" title="definition">gen_rank</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">arg</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">min_</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">(</span></a><span class="id" title="var">B</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#79dffc1e6b5d4e4f052c7b13571343b2"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - The definition of abelian_type depends on an existence lemma. - The definition of homocyclic depends on abelian_type. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianDefs"><span class="id" title="section">AbelianDefs</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">"</span></a>''Ldiv_' n " := (<a class="idref" href="mathcomp.solvable.abelian.html#Ldiv"><span class="id" title="definition">Ldiv</span></a> <span class="id" title="var">_</span> <span class="id" title="var">n</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''Ldiv_' n ") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">"</span></a>''Ldiv_' n ( G )" := (<span class="id" title="var">G</span> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''Ldiv_' n ( G )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">"</span></a>p .-abelem" := (<a class="idref" href="mathcomp.solvable.abelian.html#abelem"><span class="id" title="definition">abelem</span></a> <span class="id" title="var">p</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "p .-abelem") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">"</span></a>''E_' p ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#pElem"><span class="id" title="definition">pElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">p</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''E_' p ( G )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="7d0895628380660804762fc0f207680e"><span class="id" title="notation">"</span></a>''E_' p ^ n ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#pnElem"><span class="id" title="definition">pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">p</span>, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''E_' p ^ n ( G )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">"</span></a>''E' ^ n ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#nElem"><span class="id" title="definition">nElem</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''E' ^ n ( G )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">"</span></a>''E*_' p ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#pmaxElem"><span class="id" title="definition">pmaxElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">p</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''E*_' p ( G )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">"</span></a>''m' ( A )" := (<a class="idref" href="mathcomp.solvable.abelian.html#gen_rank"><span class="id" title="definition">gen_rank</span></a> <span class="id" title="var">A</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''m' ( A )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">"</span></a>''r' ( A )" := (<a class="idref" href="mathcomp.solvable.abelian.html#rank"><span class="id" title="definition">rank</span></a> <span class="id" title="var">A</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">format</span> "''r' ( A )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">"</span></a>''r_' p ( A )" := (<a class="idref" href="mathcomp.solvable.abelian.html#p_rank"><span class="id" title="definition">p_rank</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">p</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''r_' p ( A )") : <span class="id" title="var">group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="Functors"><span class="id" title="section">Functors</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - A functor needs to quantify over the finGroupType just beore the set. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="Functors.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="Functors.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="Functors.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Ohm"><span class="id" title="definition">Ohm</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="Mho"><span class="id" title="definition">Mho</span></a> := <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d0270fa0a363bba71e8c01890ad13e87"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d0270fa0a363bba71e8c01890ad13e87"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d0270fa0a363bba71e8c01890ad13e87"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#d0270fa0a363bba71e8c01890ad13e87"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d0270fa0a363bba71e8c01890ad13e87"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">).-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">elt</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d0270fa0a363bba71e8c01890ad13e87"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Ohm_group</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</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.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Ohm"><span class="id" title="definition">Ohm</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Mho_group</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</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.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">of</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Mho"><span class="id" title="definition">Mho</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#f6996ff347e6cf832aa130837b06a848"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pdiv_p_elt"><span class="id" title="lemma">pdiv_p_elt</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#Functors.gT"><span class="id" title="variable">gT</span></a>) : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">elt</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="OhmPredP"><span class="id" title="lemma">OhmPredP</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#Functors.gT"><span class="id" title="variable">gT</span></a>) :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#pdiv"><span class="id" title="definition">pdiv</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_p_elt"><span class="id" title="lemma">Mho_p_elt</span></a> (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">elt</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Functors.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Mho"><span class="id" title="definition">Mho</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#Functors"><span class="id" title="section">Functors</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">"</span></a>''Ohm_' n ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#Ohm"><span class="id" title="definition">Ohm</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''Ohm_' n ( G )") : <span class="id" title="var">group_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="1cf3cacd2d21cc22470336fc54e98ad6"><span class="id" title="notation">"</span></a>''Ohm_' n ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#Ohm_group"><span class="id" title="definition">Ohm_group</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span>) : <span class="id" title="var">Group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Notation</span> <a name="2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">"</span></a>''Mho^' n ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#Mho"><span class="id" title="definition">Mho</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span>)<br/> - (<span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 8, <span class="id" title="var">n</span> <span class="id" title="tactic">at</span> <span class="id" title="keyword">level</span> 2, <span class="id" title="var">format</span> "''Mho^' n ( G )") : <span class="id" title="var">group_scope</span>.<br/> -<span class="id" title="keyword">Notation</span> <a name="356599fea9d14757aaed07fb480d5522"><span class="id" title="notation">"</span></a>''Mho^' n ( G )" := (<a class="idref" href="mathcomp.solvable.abelian.html#Mho_group"><span class="id" title="definition">Mho_group</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span>) : <span class="id" title="var">Group_scope</span>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="ExponentAbelem"><span class="id" title="section">ExponentAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="ExponentAbelem.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">p</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">pi</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">E</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">K</span> <span class="id" title="var">P</span> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="LdivP"><span class="id" title="lemma">LdivP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dvdn_exponent"><span class="id" title="lemma">dvdn_exponent</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="expg_exponent"><span class="id" title="lemma">expg_exponent</span></a> <span class="id" title="var">x</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponentS"><span class="id" title="lemma">exponentS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponentP"><span class="id" title="lemma">exponentP</span></a> <span class="id" title="var">A</span> <span class="id" title="var">n</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<span class="id" title="keyword">∀</span> <span class="id" title="var">x</span>, <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="trivg_exponent"><span class="id" title="lemma">trivg_exponent</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b91223a7636398c530555b2312d1e79b"><span class="id" title="notation">:==:</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent1"><span class="id" title="lemma">exponent1</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_dvdn"><span class="id" title="lemma">exponent_dvdn</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_gt0"><span class="id" title="lemma">exponent_gt0</span></a> <span class="id" title="var">G</span> : 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#00fe0eaf5e6949f0a31725357afa4bba"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - <span class="id" title="keyword">Hint Resolve</span> <span class="id" title="var">exponent_gt0</span> : <span class="id" title="var">core</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnat_exponent"><span class="id" title="lemma">pnat_exponent</span></a> <span class="id" title="var">pi</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#pi"><span class="id" title="variable">pi</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#31aa0776b2fdb88da5b5ba70544862a1"><span class="id" title="notation">nat</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#pi"><span class="id" title="variable">pi</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponentJ"><span class="id" title="lemma">exponentJ</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_witness"><span class="id" title="lemma">exponent_witness</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_cycle"><span class="id" title="lemma">exponent_cycle</span></a> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_cyclic"><span class="id" title="lemma">exponent_cyclic</span></a> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="primes_exponent"><span class="id" title="lemma">primes_exponent</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#primes"><span class="id" title="definition">primes</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#primes"><span class="id" title="definition">primes</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pi_of_exponent"><span class="id" title="lemma">pi_of_exponent</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">pi</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">pi</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="partn_exponentS"><span class="id" title="lemma">partn_exponentS</span></a> <span class="id" title="var">pi</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">`</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">_pi</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">_pi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">_pi</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_Hall"><span class="id" title="lemma">exponent_Hall</span></a> <span class="id" title="var">pi</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#pi"><span class="id" title="variable">pi</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">Hall</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">)`</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#e157af410f295c13bf15c0e174d5741f"><span class="id" title="notation">_pi</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_Zgroup"><span class="id" title="lemma">exponent_Zgroup</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.sylow.html#Zgroup"><span class="id" title="definition">Zgroup</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cprod_exponent"><span class="id" title="lemma">cprod_exponent</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#1c2e0971edf6e9b6c6dd4a5951d04f36"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#lcmn"><span class="id" title="definition">lcmn</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dprod_exponent"><span class="id" title="lemma">dprod_exponent</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#lcmn"><span class="id" title="definition">lcmn</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sub_LdivT"><span class="id" title="lemma">sub_LdivT</span></a> <span class="id" title="var">A</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="LdivT_J"><span class="id" title="lemma">LdivT_J</span></a> <span class="id" title="var">n</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="LdivJ"><span class="id" title="lemma">LdivJ</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="sub_Ldiv"><span class="id" title="lemma">sub_Ldiv</span></a> <span class="id" title="var">A</span> <span class="id" title="var">n</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="group_Ldiv"><span class="id" title="lemma">group_Ldiv</span></a> <span class="id" title="var">G</span> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#group_set"><span class="id" title="definition">group_set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_exponent_gen"><span class="id" title="lemma">abelian_exponent_gen</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_pgroup"><span class="id" title="lemma">abelem_pgroup</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_abelian"><span class="id" title="lemma">abelem_abelian</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem1"><span class="id" title="lemma">abelem1</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelemE"><span class="id" title="lemma">abelemE</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelemP"><span class="id" title="lemma">abelemP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><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.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_order_p"><span class="id" title="lemma">abelem_order_p</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cyclic_abelem_prime"><span class="id" title="lemma">cyclic_abelem_prime</span></a> <span class="id" title="var">p</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cycle_abelem"><span class="id" title="lemma">cycle_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">elt</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#081ff67d3116402bb680e8692aa39185"><span class="id" title="notation">||</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent2_abelem"><span class="id" title="lemma">exponent2_abelem</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> 2 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 2<a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="prime_abelem"><span class="id" title="lemma">prime_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_cyclic"><span class="id" title="lemma">abelem_cyclic</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelemS"><span class="id" title="lemma">abelemS</span></a> <span class="id" title="var">p</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelemJ"><span class="id" title="lemma">abelemJ</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cprod_abelem"><span class="id" title="lemma">cprod_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#1c2e0971edf6e9b6c6dd4a5951d04f36"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dprod_abelem"><span class="id" title="lemma">dprod_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="is_abelem_pgroup"><span class="id" title="lemma">is_abelem_pgroup</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#is_abelem"><span class="id" title="definition">is_abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="is_abelemP"><span class="id" title="lemma">is_abelemP</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#is_abelem"><span class="id" title="definition">is_abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pElemP"><span class="id" title="lemma">pElemP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pElemS"><span class="id" title="lemma">pElemS</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pElemI"><span class="id" title="lemma">pElemI</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#subgroups"><span class="id" title="definition">subgroups</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pElemJ"><span class="id" title="lemma">pElemJ</span></a> <span class="id" title="var">x</span> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#e6fcd5d50e2b9f3ed5dd532c21461513"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElemP"><span class="id" title="lemma">pnElemP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElemPcard"><span class="id" title="lemma">pnElemPcard</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">[/\</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#d7e433f5d2fe56f5b712860a9ff2a681"><span class="id" title="notation">]</span></a>%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="card_pnElem"><span class="id" title="lemma">card_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElem0"><span class="id" title="lemma">pnElem0</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>0<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f5e197738ea7c8e266850f6045418c3f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f5e197738ea7c8e266850f6045418c3f"><span class="id" title="notation">set</span></a> 1%<span class="id" title="var">G</span><a class="idref" href="mathcomp.ssreflect.finset.html#f5e197738ea7c8e266850f6045418c3f"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElem_prime"><span class="id" title="lemma">pnElem_prime</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElemE"><span class="id" title="lemma">pnElemE</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">set</span></a> <span class="id" title="var">E</span> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a>)%<span class="id" title="var">N</span><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElemS"><span class="id" title="lemma">pnElemS</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElemI"><span class="id" title="lemma">pnElemI</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#subgroups"><span class="id" title="definition">subgroups</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pnElemJ"><span class="id" title="lemma">pnElemJ</span></a> <span class="id" title="var">x</span> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#e6fcd5d50e2b9f3ed5dd532c21461513"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_pnElem"><span class="id" title="lemma">abelem_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">E</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="card_p1Elem"><span class="id" title="lemma">card_p1Elem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">X</span> : <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p1ElemE"><span class="id" title="lemma">p1ElemE</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">set</span></a> <span class="id" title="var">X</span> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#subgroups"><span class="id" title="definition">subgroups</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="TIp1ElemP"><span class="id" title="lemma">TIp1ElemP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Y"><span class="id" title="variable">Y</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="card_p1Elem_pnElem"><span class="id" title="lemma">card_p1Elem_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.ssreflect.bigop.html#e383fcd76deb34dd09a423262c4c7429"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#e383fcd76deb34dd09a423262c4c7429"><span class="id" title="notation">sum_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#e383fcd76deb34dd09a423262c4c7429"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#e383fcd76deb34dd09a423262c4c7429"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#e383fcd76deb34dd09a423262c4c7429"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a>)%<span class="id" title="var">N</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="card_p1Elem_p2Elem"><span class="id" title="lemma">card_p1Elem_p2Elem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>2<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p2Elem_dprodP"><span class="id" title="lemma">p2Elem_dprodP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> <span class="id" title="var">X</span> <span class="id" title="var">Y</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>2<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Y"><span class="id" title="variable">Y</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#X"><span class="id" title="variable">X</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Y"><span class="id" title="variable">Y</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nElemP"><span class="id" title="lemma">nElemP</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> <span class="id" title="var">E</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nElem0"><span class="id" title="lemma">nElem0</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a>0<a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f5e197738ea7c8e266850f6045418c3f"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#f5e197738ea7c8e266850f6045418c3f"><span class="id" title="notation">set</span></a> 1%<span class="id" title="var">G</span><a class="idref" href="mathcomp.ssreflect.finset.html#f5e197738ea7c8e266850f6045418c3f"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nElem1P"><span class="id" title="lemma">nElem1P</span></a> <span class="id" title="var">G</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">p</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nElemS"><span class="id" title="lemma">nElemS</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nElemI"><span class="id" title="lemma">nElemI</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#subgroups"><span class="id" title="definition">subgroups</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="def_pnElem"><span class="id" title="lemma">def_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pmaxElemP"><span class="id" title="lemma">pmaxElemP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <span class="id" title="keyword">∀</span> <span class="id" title="var">H</span>, <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#f0bbce9238fab3dd03626439080979a9"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)<br/> - (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pmaxElem_exists"><span class="id" title="lemma">pmaxElem_exists</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">D</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">E</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pmaxElem_LdivP"><span class="id" title="lemma">pmaxElem_LdivP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">C_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pmaxElemS"><span class="id" title="lemma">pmaxElemS</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#subgroups"><span class="id" title="definition">subgroups</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="pmaxElemJ"><span class="id" title="lemma">pmaxElemJ</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> <span class="id" title="var">x</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#e6fcd5d50e2b9f3ed5dd532c21461513"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="grank_min"><span class="id" title="lemma">grank_min</span></a> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="grank_witness"><span class="id" title="lemma">grank_witness</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">B</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_witness"><span class="id" title="lemma">p_rank_witness</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">{</span></a><span class="id" title="var">E</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#bc4528e836ab0e91ea7e942fb09e898f"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_geP"><span class="id" title="lemma">p_rank_geP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">E</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_gt0"><span class="id" title="lemma">p_rank_gt0</span></a> <span class="id" title="var">p</span> <span class="id" title="var">H</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">pi</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank1"><span class="id" title="lemma">p_rank1</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="logn_le_p_rank"><span class="id" title="lemma">logn_le_p_rank</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_le_logn"><span class="id" title="lemma">p_rank_le_logn</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_abelem"><span class="id" title="lemma">p_rank_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rankS"><span class="id" title="lemma">p_rankS</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rankElem_max"><span class="id" title="lemma">p_rankElem_max</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rankJ"><span class="id" title="lemma">p_rankJ</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_Sylow"><span class="id" title="lemma">p_rank_Sylow</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">Sylow</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_Hall"><span class="id" title="lemma">p_rank_Hall</span></a> <span class="id" title="var">pi</span> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#pi"><span class="id" title="variable">pi</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">Hall</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#a4de5afc30e4046e35829de6f2bc75f3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#pi"><span class="id" title="variable">pi</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_pmaxElem_exists"><span class="id" title="lemma">p_rank_pmaxElem_exists</span></a> <span class="id" title="var">p</span> <span class="id" title="var">r</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#73030c22bc0b1fa771c65aa5414c65f9"><span class="id" title="notation">≥</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">exists2</span></a> <span class="id" title="var">E</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#3df228c109f14f0423b4fccc967ee1ac"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#73030c22bc0b1fa771c65aa5414c65f9"><span class="id" title="notation">≥</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#r"><span class="id" title="variable">r</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank1"><span class="id" title="lemma">rank1</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 0.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_le_rank"><span class="id" title="lemma">p_rank_le_rank</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_gt0"><span class="id" title="lemma">rank_gt0</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_witness"><span class="id" title="lemma">rank_witness</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">p</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_pgroup"><span class="id" title="lemma">rank_pgroup</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_Sylow"><span class="id" title="lemma">rank_Sylow</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">P</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">Sylow</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#081d3e80d093e95dd63e6bafc24fef78"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#P"><span class="id" title="variable">P</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_abelem"><span class="id" title="lemma">rank_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="nt_pnElem"><span class="id" title="lemma">nt_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">E</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rankJ"><span class="id" title="lemma">rankJ</span></a> <span class="id" title="var">A</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rankS"><span class="id" title="lemma">rankS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_geP"><span class="id" title="lemma">rank_geP</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">∃</span></a> <span class="id" title="var">E</span><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#a883bdd010993579f99d60b3775bcf54"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#ExponentAbelem"><span class="id" title="section">ExponentAbelem</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="MorphAbelem"><span class="id" title="section">MorphAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="MorphAbelem.aT"><span class="id" title="variable">aT</span></a> <a name="MorphAbelem.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="MorphAbelem.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) (<a name="MorphAbelem.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_morphim"><span class="id" title="lemma">exponent_morphim</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_LdivT"><span class="id" title="lemma">morphim_LdivT</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_Ldiv"><span class="id" title="lemma">morphim_Ldiv</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_abelem"><span class="id" title="lemma">morphim_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_pElem"><span class="id" title="lemma">morphim_pElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#888620c874f04d3b9a93460ee84daf2f"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_pnElem"><span class="id" title="lemma">morphim_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#888620c874f04d3b9a93460ee84daf2f"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_grank"><span class="id" title="lemma">morphim_grank</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -</div> - -<div class="doc"> - There are no general morphism relations for the p-rank. We later prove - some relations for the p-rank of a quotient in the QuotientAbelem section. -</div> -<div class="code"> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#MorphAbelem"><span class="id" title="section">MorphAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="InjmAbelem"><span class="id" title="section">InjmAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="InjmAbelem.aT"><span class="id" title="variable">aT</span></a> <a name="InjmAbelem.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="InjmAbelem.D"><span class="id" title="variable">D</span></a> <a name="InjmAbelem.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) (<a name="InjmAbelem.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Hypotheses</span> (<a name="InjmAbelem.injf"><span class="id" title="variable">injf</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#3a01b501aff42699ca141d6279e9102f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#3a01b501aff42699ca141d6279e9102f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a>) (<a name="InjmAbelem.sGD"><span class="id" title="variable">sGD</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.D"><span class="id" title="variable">D</span></a>).<br/> -<span class="id" title="keyword">Let</span> <a name="InjmAbelem.defG"><span class="id" title="variable">defG</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#invm"><span class="id" title="definition">invm</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.injf"><span class="id" title="variable">injf</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a> := <a class="idref" href="mathcomp.fingroup.morphism.html#morphim_invm"><span class="id" title="lemma">morphim_invm</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.injf"><span class="id" title="variable">injf</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.sGD"><span class="id" title="variable">sGD</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_injm"><span class="id" title="lemma">exponent_injm</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_Ldiv"><span class="id" title="lemma">injm_Ldiv</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_abelem"><span class="id" title="lemma">injm_abelem</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_pElem"><span class="id" title="lemma">injm_pElem</span></a> <span class="id" title="var">p</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#888620c874f04d3b9a93460ee84daf2f"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_pnElem"><span class="id" title="lemma">injm_pnElem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#888620c874f04d3b9a93460ee84daf2f"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_nElem"><span class="id" title="lemma">injm_nElem</span></a> <span class="id" title="var">n</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#888620c874f04d3b9a93460ee84daf2f"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#156d1a12ae07bd85a2f7d7f57194721d"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_pmaxElem"><span class="id" title="lemma">injm_pmaxElem</span></a> <span class="id" title="var">p</span> (<span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a>(<a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#888620c874f04d3b9a93460ee84daf2f"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_grank"><span class="id" title="lemma">injm_grank</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_p_rank"><span class="id" title="lemma">injm_p_rank</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_rank"><span class="id" title="lemma">injm_rank</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#InjmAbelem"><span class="id" title="section">InjmAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="IsogAbelem"><span class="id" title="section">IsogAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="IsogAbelem.aT"><span class="id" title="variable">aT</span></a> <a name="IsogAbelem.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="IsogAbelem.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) (<a name="IsogAbelem.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="IsogAbelem.isoGH"><span class="id" title="variable">isoGH</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_isog"><span class="id" title="lemma">exponent_isog</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_abelem"><span class="id" title="lemma">isog_abelem</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_grank"><span class="id" title="lemma">isog_grank</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_p_rank"><span class="id" title="lemma">isog_p_rank</span></a> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_rank"><span class="id" title="lemma">isog_rank</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelem"><span class="id" title="section">IsogAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="QuotientAbelem"><span class="id" title="section">QuotientAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="QuotientAbelem.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="QuotientAbelem.p"><span class="id" title="variable">p</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> <span class="id" title="var">E</span> <span class="id" title="var">G</span> <span class="id" title="var">K</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_quotient"><span class="id" title="lemma">exponent_quotient</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>) <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_LdivT"><span class="id" title="lemma">quotient_LdivT</span></a> <span class="id" title="var">n</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#81f2d4d7c09454998bb8db61f15d0392"><span class="id" title="notation">Ldiv_n</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_Ldiv"><span class="id" title="lemma">quotient_Ldiv</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_abelem"><span class="id" title="lemma">quotient_abelem</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem.p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_pElem"><span class="id" title="lemma">quotient_pElem</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#15f6d57e3ad1c8453221555081f89965"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#ec861f4701a49506b0fed8c5f1687adc"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="logn_quotient"><span class="id" title="lemma">logn_quotient</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem.p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_pnElem"><span class="id" title="lemma">quotient_pnElem</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">n</span> <span class="id" title="var">E</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#15f6d57e3ad1c8453221555081f89965"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>)%<span class="id" title="var">G</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">E_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#7d0895628380660804762fc0f207680e"><span class="id" title="notation">)</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_grank"><span class="id" title="lemma">quotient_grank</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_quotient"><span class="id" title="lemma">p_rank_quotient</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_dprod"><span class="id" title="lemma">p_rank_dprod</span></a> <span class="id" title="var">K</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#0dacc1786c5ba797d47dd85006231633"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_p'quotient"><span class="id" title="lemma">p_rank_p'quotient</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.prime.html#ca29ecf9a3780bf15fe608e2d2c00594"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem.p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#aed478b27f23b4f753c27c8ac393febc"><span class="id" title="notation">:</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#ca29ecf9a3780bf15fe608e2d2c00594"><span class="id" title="notation">)^'</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#1ff9e060a8cc6098d64e42214fa57c96"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientAbelem"><span class="id" title="section">QuotientAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="OhmProps"><span class="id" title="section">OhmProps</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="OhmProps.Generic"><span class="id" title="section">Generic</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="OhmProps.Generic.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="OhmProps.Generic.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.gT"><span class="id" title="variable">gT</span></a>) (<span class="id" title="var">rT</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">Types</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">D</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_sub"><span class="id" title="lemma">Ohm_sub</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1"><span class="id" title="lemma">Ohm1</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_id"><span class="id" title="lemma">Ohm_id</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">('</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">))</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_cont"><span class="id" title="lemma">Ohm_cont</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">G</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="OhmS"><span class="id" title="lemma">OhmS</span></a> <span class="id" title="var">H</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="OhmE"><span class="id" title="lemma">OhmE</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="OhmEabelian"><span class="id" title="lemma">OhmEabelian</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_p_cycle"><span class="id" title="lemma">Ohm_p_cycle</span></a> <span class="id" title="var">p</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">elt</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_dprod"><span class="id" title="lemma">Ohm_dprod</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_sub"><span class="id" title="lemma">Mho_sub</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho1"><span class="id" title="lemma">Mho1</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_Mho"><span class="id" title="lemma">morphim_Mho</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">D</span> <span class="id" title="var">G</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_cont"><span class="id" title="lemma">Mho_cont</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">G</span> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="MhoS"><span class="id" title="lemma">MhoS</span></a> <span class="id" title="var">H</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="MhoE"><span class="id" title="lemma">MhoE</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="MhoEabelian"><span class="id" title="lemma">MhoEabelian</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">|</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#1e993786ab46c6f2c0d488e43f629b71"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="trivg_Mho"><span class="id" title="lemma">trivg_Mho</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_p_cycle"><span class="id" title="lemma">Mho_p_cycle</span></a> <span class="id" title="var">p</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#02ede184c88cd665ffb04f209168388a"><span class="id" title="notation">elt</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_cprod"><span class="id" title="lemma">Mho_cprod</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#1c2e0971edf6e9b6c6dd4a5951d04f36"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#1c2e0971edf6e9b6c6dd4a5951d04f36"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_dprod"><span class="id" title="lemma">Mho_dprod</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.Generic"><span class="id" title="section">Generic</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Ohm_igFun</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">igFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Ohm_sub"><span class="id" title="lemma">Ohm_sub</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Ohm_cont"><span class="id" title="lemma">Ohm_cont</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Ohm_gFun</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">gFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Ohm_cont"><span class="id" title="lemma">Ohm_cont</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Ohm_mgFun</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">mgFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmS"><span class="id" title="lemma">OhmS</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Mho_igFun</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">igFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Mho_sub"><span class="id" title="lemma">Mho_sub</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Mho_cont"><span class="id" title="lemma">Mho_cont</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#c0205c751a17b7793ccdaf02cc4999e3"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Mho_gFun</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">gFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#Mho_cont"><span class="id" title="lemma">Mho_cont</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#cecbde1597e0d77a491e8c4f94033af4"><span class="id" title="notation">]</span></a>.<br/> -<span class="id" title="keyword">Canonical</span> <span class="id" title="var">Mho_mgFun</span> <span class="id" title="var">i</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">mgFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#MhoS"><span class="id" title="lemma">MhoS</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f3da3221c5171e732a65fec8cc2ba4fa"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="OhmProps.char"><span class="id" title="section">char</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="OhmProps.char.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="OhmProps.char.gT"><span class="id" title="variable">gT</span></a> <a name="OhmProps.char.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="OhmProps.char.D"><span class="id" title="variable">D</span></a> <a name="OhmProps.char.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_char"><span class="id" title="lemma">Ohm_char</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.automorphism.html#d9dc63f0c53bc5e6f232c50d48c40709"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.automorphism.html#d9dc63f0c53bc5e6f232c50d48c40709"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_normal"><span class="id" title="lemma">Ohm_normal</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7e8095b432e7aa5c3c22bb87584658b7"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_char"><span class="id" title="lemma">Mho_char</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.automorphism.html#d9dc63f0c53bc5e6f232c50d48c40709"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.automorphism.html#d9dc63f0c53bc5e6f232c50d48c40709"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a>. <br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_normal"><span class="id" title="lemma">Mho_normal</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7e8095b432e7aa5c3c22bb87584658b7"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a>. <br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_Ohm"><span class="id" title="lemma">morphim_Ohm</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="injm_Ohm"><span class="id" title="lemma">injm_Ohm</span></a> (<span class="id" title="var">f</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>) :<br/> - <a class="idref" href="mathcomp.fingroup.morphism.html#3a01b501aff42699ca141d6279e9102f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#3a01b501aff42699ca141d6279e9102f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_Ohm"><span class="id" title="lemma">isog_Ohm</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_Mho"><span class="id" title="lemma">isog_Mho</span></a> (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char.n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.char"><span class="id" title="section">char</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="OhmProps.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">pi</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#nat_pred"><span class="id" title="definition">nat_pred</span></a>) (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>).<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">D</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm0"><span class="id" title="lemma">Ohm0</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_0</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_leq"><span class="id" title="lemma">Ohm_leq</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="OhmJ"><span class="id" title="lemma">OhmJ</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho0"><span class="id" title="lemma">Mho0</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a>0<a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Mho_leq"><span class="id" title="lemma">Mho_leq</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="MhoJ"><span class="id" title="lemma">MhoJ</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> <span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#049e6d4210dc2b8af76facf30c9d4dd6"><span class="id" title="notation">:^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="extend_cyclic_Mho"><span class="id" title="lemma">extend_cyclic_Mho</span></a> <span class="id" title="var">G</span> <span class="id" title="var">p</span> <span class="id" title="var">x</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a>1<a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <br/> - <span class="id" title="keyword">∀</span> <span class="id" title="var">k</span>, <a class="idref" href="mathcomp.solvable.abelian.html#k"><span class="id" title="variable">k</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 0 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">^+</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#k"><span class="id" title="variable">k</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#06cdd2633d7788bac7abeac13b2dd91e"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1Eprime"><span class="id" title="lemma">Ohm1Eprime</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#91816551bcea1b6f359ecf76f3595e38"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7fae3285ae0b14be2ed14c5a340c6d3d"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_Ohm1"><span class="id" title="lemma">abelem_Ohm1</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1_abelem"><span class="id" title="lemma">Ohm1_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1_id"><span class="id" title="lemma">Ohm1_id</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_Ohm1P"><span class="id" title="lemma">abelem_Ohm1P</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="TI_Ohm1"><span class="id" title="lemma">TI_Ohm1</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1_eq1"><span class="id" title="lemma">Ohm1_eq1</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b91223a7636398c530555b2312d1e79b"><span class="id" title="notation">:==:</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="meet_Ohm1"><span class="id" title="lemma">meet_Ohm1</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b9596739b058766532fc6517a36fef9f"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 1.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1_cent_max"><span class="id" title="lemma">Ohm1_cent_max</span></a> <span class="id" title="var">G</span> <span class="id" title="var">E</span> <span class="id" title="var">p</span> : <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">E</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">×</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#d6b709c1b89a3c62e054c9b8a6f094b4"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">C_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#04a5555c0db8685a27679a7e6af3f8c3"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#E"><span class="id" title="variable">E</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1_cyclic_pgroup_prime"><span class="id" title="lemma">Ohm1_cyclic_pgroup_prime</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="cyclic_pgroup_dprod_trivg"><span class="id" title="lemma">cyclic_pgroup_dprod_trivg</span></a> <span class="id" title="var">p</span> <span class="id" title="var">A</span> <span class="id" title="var">B</span> <span class="id" title="var">C</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#C"><span class="id" title="variable">C</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#f031fe1957c4a4a8e217aa46af2b4e25"><span class="id" title="notation">∨</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#C"><span class="id" title="variable">C</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="piOhm1"><span class="id" title="lemma">piOhm1</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">pi</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">pi</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#c36dd927e8fe3f2052f45795266a50d2"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1Eexponent"><span class="id" title="lemma">Ohm1Eexponent</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">Ldiv_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9bedce05b970c48e2984b10e94f8e153"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_Ohm1"><span class="id" title="lemma">p_rank_Ohm1</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_Ohm1"><span class="id" title="lemma">rank_Ohm1</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="p_rank_abelian"><span class="id" title="lemma">p_rank_abelian</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_abelian_pgroup"><span class="id" title="lemma">rank_abelian_pgroup</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#OhmProps"><span class="id" title="section">OhmProps</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="AbelianStructure"><span class="id" title="section">AbelianStructure</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variable</span> <a name="AbelianStructure.gT"><span class="id" title="variable">gT</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> -<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Types</span> (<span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">K</span> <span class="id" title="var">E</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianStructure.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_splits"><span class="id" title="lemma">abelian_splits</span></a> <span class="id" title="var">x</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">splits</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">over</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_splits"><span class="id" title="lemma">abelem_splits</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#4102da6205bd8605932488256a8bd517"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">splits</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">over</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#67112b78cdc76dbd18c8794f085f2d35"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fact</span> <a name="abelian_type_subproof"><span class="id" title="lemma">abelian_type_subproof</span></a> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">{</span></a><span class="id" title="var">H</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianStructure.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><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.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#cc5e56ba3765e2d6b17e66d19b966f1d"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Fixpoint</span> <a name="abelian_type_rec"><span class="id" title="definition">abelian_type_rec</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> :=<br/> - <span class="id" title="keyword">if</span> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <span class="id" title="keyword">is</span> <span class="id" title="var">n'</span><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a> <span class="id" title="keyword">then</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">if</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">then</span></a><br/> - <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#407cde5b61fbf27196d1a7c5a475e083"><span class="id" title="notation">::</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type_rec"><span class="id" title="definition">abelian_type_rec</span></a> <span class="id" title="var">n'</span> (<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrfun.html#tag"><span class="id" title="definition">tag</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type_subproof"><span class="id" title="lemma">abelian_type_subproof</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>))<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssreflect.html#00a1a5b58aac8f1e3f1abff064a39f9d"><span class="id" title="notation">else</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a> <span class="id" title="keyword">else</span> <a class="idref" href="mathcomp.ssreflect.seq.html#0a934e621391740b862762275992e626"><span class="id" title="notation">[::]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="abelian_type"><span class="id" title="definition">abelian_type</span></a> (<span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianStructure.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d8708f36d374a98f4d683c7593d1ea6a"><span class="id" title="notation">}</span></a>) := <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type_rec"><span class="id" title="definition">abelian_type_rec</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cb0a405b4f8770085de05ce400c910a"><span class="id" title="notation"><<</span></a><a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cb0a405b4f8770085de05ce400c910a"><span class="id" title="notation">>></span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_type_dvdn_sorted"><span class="id" title="lemma">abelian_type_dvdn_sorted</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.path.html#sorted"><span class="id" title="definition">sorted</span></a> <a class="idref" href="mathcomp.ssreflect.ssrbool.html#fea9f4d81fed4d4bd9309c8e510110f0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#fea9f4d81fed4d4bd9309c8e510110f0"><span class="id" title="notation">rel</span></a> <span class="id" title="var">m</span> <span class="id" title="var">n</span> <a class="idref" href="mathcomp.ssreflect.ssrbool.html#fea9f4d81fed4d4bd9309c8e510110f0"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.div.html#bde82eab2fe4a0799bc2419e587505d4"><span class="id" title="notation">%|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a><a class="idref" href="mathcomp.ssreflect.ssrbool.html#fea9f4d81fed4d4bd9309c8e510110f0"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_type_gt1"><span class="id" title="lemma">abelian_type_gt1</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#all"><span class="id" title="definition">all</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">pred</span></a> <span class="id" title="var">m</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">]</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_type_sorted"><span class="id" title="lemma">abelian_type_sorted</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.ssreflect.path.html#sorted"><span class="id" title="definition">sorted</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#geq"><span class="id" title="definition">geq</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Theorem</span> <a name="abelian_structure"><span class="id" title="lemma">abelian_structure</span></a> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">{</span></a><span class="id" title="var">b</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><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.fingroup.fingroup.html#order"><span class="id" title="definition">order</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Specif.html#c0bbd202248f4def7aaf0c316cf2c29e"><span class="id" title="notation">}</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="count_logn_dprod_cycle"><span class="id" title="lemma">count_logn_dprod_cycle</span></a> <span class="id" title="var">p</span> <span class="id" title="var">n</span> <span class="id" title="var">b</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.ssreflect.seq.html#count"><span class="id" title="definition">count</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">[</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">pred</span></a> <span class="id" title="var">x</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">#[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#09508509373ff3217fbbadb14d25dc5c"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7f2a7ef2c63af7359b22787a9daf336e"><span class="id" title="notation">></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#27dabc72ea2c2c768f2db80a79f42524"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#0665f11b64f1431f9d664aba3c000866"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#bda89d73ec4a8f23ae92b565ffb5aaa6"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#0665f11b64f1431f9d664aba3c000866"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#0665f11b64f1431f9d664aba3c000866"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_type_pgroup"><span class="id" title="lemma">abelian_type_pgroup</span></a> <span class="id" title="var">p</span> <span class="id" title="var">b</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">(</span></a><span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#93a42d9430a115f2544a09cba4cf05ca"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#c1ad6bcc76a6221225111f87bc3b0c3d"><span class="id" title="notation">notin</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.ssreflect.seq.html#perm_eq"><span class="id" title="definition">perm_eq</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) (<a class="idref" href="mathcomp.ssreflect.seq.html#map"><span class="id" title="definition">map</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#order"><span class="id" title="definition">order</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#b"><span class="id" title="variable">b</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="size_abelian_type"><span class="id" title="lemma">size_abelian_type</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#size"><span class="id" title="definition">size</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="mul_card_Ohm_Mho_abelian"><span class="id" title="lemma">mul_card_Ohm_Mho_abelian</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> (<a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#ea2ff3d561159081cea6fb2e8113cc54"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>)%<span class="id" title="var">N</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="grank_abelian"><span class="id" title="lemma">grank_abelian</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">m</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#671c5ca8ae12a455fb7feac7c4217f36"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="rank_cycle"><span class="id" title="lemma">rank_cycle</span></a> (<span class="id" title="var">x</span> : <a class="idref" href="mathcomp.solvable.abelian.html#AbelianStructure.gT"><span class="id" title="variable">gT</span></a>) : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation"><[</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#5e5825d099c952c2db2842c142cbde94"><span class="id" title="notation">]></span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#x"><span class="id" title="variable">x</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#c385a484ee9d1b4e0615924561a9b75e"><span class="id" title="notation">!=</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_rank1_cyclic"><span class="id" title="lemma">abelian_rank1_cyclic</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Definition</span> <a name="homocyclic"><span class="id" title="definition">homocyclic</span></a> <span class="id" title="var">A</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#constant"><span class="id" title="definition">constant</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#A"><span class="id" title="variable">A</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="homocyclic_Ohm_Mho"><span class="id" title="lemma">homocyclic_Ohm_Mho</span></a> <span class="id" title="var">n</span> <span class="id" title="var">p</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm_Mho_homocyclic"><span class="id" title="lemma">Ohm_Mho_homocyclic</span></a> (<span class="id" title="var">n</span> <span class="id" title="var">p</span> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> 0 <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cf4676be165a6295cd8b63fc45b45d8a"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#7825ccc99f23b0d30c9d40c317ba7af0"><span class="id" title="notation">-</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelem_homocyclic"><span class="id" title="lemma">abelem_homocyclic</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="homocyclic1"><span class="id" title="lemma">homocyclic1</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianStructure.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#80a826bb5c5b3ef58870b90cd3030216"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="Ohm1_homocyclicP"><span class="id" title="lemma">Ohm1_homocyclicP</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">Ohm_1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#c56ec4cf607c781766b0d2cf7a260ba8"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">Mho</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">^</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.prime.html#logn"><span class="id" title="definition">logn</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>)<a class="idref" href="mathcomp.ssreflect.ssrnat.html#f953bf7095e0da1cb644443fd0e17d6d"><span class="id" title="notation">).-1</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#2fc9e45ba06c586f77f5571683771ca7"><span class="id" title="notation">)</span></a>) (<a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_type_homocyclic"><span class="id" title="lemma">abelian_type_homocyclic</span></a> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="abelian_type_abelem"><span class="id" title="lemma">abelian_type_abelem</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="max_card_abelian"><span class="id" title="lemma">max_card_abelian</span></a> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">?=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#22d09a36997010daec8f30c044c9e5d4"><span class="id" title="notation">iff</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="card_homocyclic"><span class="id" title="lemma">card_homocyclic</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#81fd94e251a61ee523cdd7855774ae7c"><span class="id" title="notation">^</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><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="abelian_type_dprod_homocyclic"><span class="id" title="lemma">abelian_type_dprod_homocyclic</span></a> <span class="id" title="var">p</span> <span class="id" title="var">K</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>)<br/> - <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#nseq"><span class="id" title="definition">nseq</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> (<a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="dprod_homocyclic"><span class="id" title="lemma">dprod_homocyclic</span></a> <span class="id" title="var">p</span> <span class="id" title="var">K</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#ba2b0e492d2b4675a0acf3ea92aabadd"><span class="id" title="notation">∧</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="exponent_dprod_homocyclic"><span class="id" title="lemma">exponent_dprod_homocyclic</span></a> <span class="id" title="var">p</span> <span class="id" title="var">K</span> <span class="id" title="var">H</span> <span class="id" title="var">G</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#191b5570f070a51bd5c860222c206828"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.pgroup.html#15605b2ce8a0bd336aafa96c5cc1afdc"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#be2f022a539ec6d4d51932b5ea998e57"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a><br/> - <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#K"><span class="id" title="variable">K</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#exponent"><span class="id" title="definition">exponent</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#AbelianStructure"><span class="id" title="section">AbelianStructure</span></a>.<br/> - -<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="IsogAbelian"><span class="id" title="section">IsogAbelian</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> <a name="IsogAbelian.aT"><span class="id" title="variable">aT</span></a> <a name="IsogAbelian.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>.<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>) (<span class="id" title="var">D</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_abelian_type"><span class="id" title="lemma">isog_abelian_type</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#isog"><span class="id" title="definition">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="eq_abelian_type_isog"><span class="id" title="lemma">eq_abelian_type_isog</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> - <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#isog"><span class="id" title="definition">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#abelian_type"><span class="id" title="definition">abelian_type</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_abelem_card"><span class="id" title="lemma">isog_abelem_card</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#isog"><span class="id" title="definition">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">&&</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#df45e8c2e8370fd4f0f7c4fdaf208180"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#234f50e13366f794cd6877cf832a5935"><span class="id" title="notation">|</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#9ddeac0ab66152bd1d64bedb507a795e"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="IsogAbelian.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>) (<a name="IsogAbelian.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#efe2275bee4a5227161b40da886719a5"><span class="id" title="notation">}</span></a>).<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_rank_abelian"><span class="id" title="lemma">morphim_rank_abelian</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="morphim_p_rank_abelian"><span class="id" title="lemma">morphim_p_rank_abelian</span></a> <span class="id" title="var">p</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#70b0a61e30f130888503421fd44e1802"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="isog_homocyclic"><span class="id" title="lemma">isog_homocyclic</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#13d63916ddaa339df3fcf04363ae7cde"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#6cd0f7b28b6092304087c7049437bb1a"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#homocyclic"><span class="id" title="definition">homocyclic</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#H"><span class="id" title="variable">H</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#IsogAbelian"><span class="id" title="section">IsogAbelian</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="QuotientRank"><span class="id" title="section">QuotientRank</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Variables</span> (<a name="QuotientRank.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="QuotientRank.p"><span class="id" title="variable">p</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="QuotientRank.G"><span class="id" title="variable">G</span></a> <a name="QuotientRank.H"><span class="id" title="variable">H</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#dd8cd2228f051940101d045bfdffe2d9"><span class="id" title="notation">}</span></a>).<br/> -<span class="id" title="keyword">Hypothesis</span> <a name="QuotientRank.cGG"><span class="id" title="variable">cGG</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.G"><span class="id" title="variable">G</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_rank_abelian"><span class="id" title="lemma">quotient_rank_abelian</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">r</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#89384e246d9189b85a2e3f87a816b040"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="quotient_p_rank_abelian"><span class="id" title="lemma">quotient_p_rank_abelian</span></a> : <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#3e65ad3edf5f7fb3ea6bc63a878112a8"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#cb53cf0ee22c036a03b4a9281c68b5a3"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">r_p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.abelian.html#6b61dcfb093dfe93d87341f88d96ca9f"><span class="id" title="notation">)</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#QuotientRank"><span class="id" title="section">QuotientRank</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Section</span> <a name="FimModAbelem"><span class="id" title="section">FimModAbelem</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Import</span> <span class="id" title="var">GRing.Theory</span> <span class="id" title="var">FinRing.Theory</span>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fin_lmod_char_abelem"><span class="id" title="lemma">fin_lmod_char_abelem</span></a> <span class="id" title="var">p</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.ssralg.html#GRing.Ring.Exports.ringType"><span class="id" title="abbreviation">ringType</span></a>) (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.finalg.html#FinRing.Lmodule.Exports.finLmodType"><span class="id" title="abbreviation">finLmodType</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#R"><span class="id" title="variable">R</span></a>):<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">]</span></a>%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fin_Fp_lmod_abelem"><span class="id" title="lemma">fin_Fp_lmod_abelem</span></a> <span class="id" title="var">p</span> (<span class="id" title="var">V</span> : <a class="idref" href="mathcomp.algebra.finalg.html#FinRing.Lmodule.Exports.finLmodType"><span class="id" title="abbreviation">finLmodType</span></a> <a class="idref" href="mathcomp.algebra.zmodp.html#3867d54b9d705d180f2100b53dccbd0a"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.algebra.zmodp.html#3867d54b9d705d180f2100b53dccbd0a"><span class="id" title="notation">F_p</span></a>) :<br/> - <a class="idref" href="mathcomp.ssreflect.prime.html#prime"><span class="id" title="definition">prime</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#V"><span class="id" title="variable">V</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">Lemma</span> <a name="fin_ring_char_abelem"><span class="id" title="lemma">fin_ring_char_abelem</span></a> <span class="id" title="var">p</span> (<span class="id" title="var">R</span> : <a class="idref" href="mathcomp.algebra.finalg.html#FinRing.Ring.Exports.finRingType"><span class="id" title="abbreviation">finRingType</span></a>) :<br/> - <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">\</span></a><a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.ssr.ssrbool.html#b09457274bcb94927e289b8a9e9cd3f7"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.algebra.ssralg.html#0928aaf0450c3a4c5521d7d3da15b6d8"><span class="id" title="notation">]</span></a>%<span class="id" title="var">R</span> <a class="idref" href="http://coq.inria.fr/distrib/V8.9.0/stdlib//Coq.Init.Logic.html#1c93e43e07fbeaeb6a625cb6614beb5d"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#p"><span class="id" title="variable">p</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.abelian.html#9926250b7ba3fd427de487631b06d875"><span class="id" title="notation">abelem</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">set</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.solvable.abelian.html#R"><span class="id" title="variable">R</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#d1cce020b4b43370087fd70de1477ab6"><span class="id" title="notation">]</span></a>.<br/> - -<br/> -<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.abelian.html#FimModAbelem"><span class="id" title="section">FimModAbelem</span></a>.<br/> - -<br/> -</div> -</div> - -<div id="footer"> -<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a> -</div> - -</div> - -</body> -</html>
\ No newline at end of file |
