diff options
Diffstat (limited to 'docs/htmldoc/mathcomp.solvable.nilpotent.html')
| -rw-r--r-- | docs/htmldoc/mathcomp.solvable.nilpotent.html | 565 |
1 files changed, 565 insertions, 0 deletions
diff --git a/docs/htmldoc/mathcomp.solvable.nilpotent.html b/docs/htmldoc/mathcomp.solvable.nilpotent.html new file mode 100644 index 0000000..7aeb0e8 --- /dev/null +++ b/docs/htmldoc/mathcomp.solvable.nilpotent.html @@ -0,0 +1,565 @@ +<!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.nilpotent</title> +</head> + +<body> + +<div id="page"> + +<div id="header"> +</div> + +<div id="main"> + +<h1 class="libtitle">Library mathcomp.solvable.nilpotent</h1> + +<div class="code"> +<span class="comment">(* (c) Copyright 2006-2016 Microsoft Corporation and Inria. <br/> + Distributed under the terms of CeCILL-B. *)</span><br/> +<span class="id" title="keyword">Require</span> <span class="id" title="keyword">Import</span> <a class="idref" href="mathcomp.ssreflect.ssreflect.html#"><span class="id" title="library">mathcomp.ssreflect.ssreflect</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + This file defines nilpotent and solvable groups, and give some of their + elementary properties; more will be added later (e.g., the nilpotence of + p-groups in sylow.v, or the fact that minimal normal subgroups of solvable + groups are elementary abelian in maximal.v). This file defines: + nilpotent G == G is nilpotent, i.e., [~: H, G] is a proper subgroup of H + for all nontrivial H <| G. + solvable G == G is solvable, i.e., H^`(1) is a proper subgroup of H for + all nontrivial subgroups H of G. + 'L_n(G) == the nth term of the lower central series, namely + [~: G, ..., G] (n Gs) if n > 0, with 'L_0(G) = G. + G is nilpotent iff 'L_n(G) = 1 for some n. + 'Z_n(G) == the nth term of the upper central series, i.e., + with 'Z_0(G) = 1, 'Z_n.+1(G) / 'Z_n(G) = 'Z(G / 'Z_n(G)). + nil_class G == the nilpotence class of G, i.e., the least n such that + 'L_n.+1(G) = 1 (or, equivalently, 'Z_n(G) = G), if G is + nilpotent; we take nil_class G = #|G| when G is not + nilpotent, so nil_class G < #|G| iff G is nilpotent. +</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="SeriesDefs"><span class="id" title="section">SeriesDefs</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="SeriesDefs.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>) (<a name="SeriesDefs.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="SeriesDefs.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="lower_central_at_rec"><span class="id" title="definition">lower_central_at_rec</span></a> := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#SeriesDefs.n"><span class="id" title="variable">n</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">B</span> ⇒ <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#SeriesDefs.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a>) <a class="idref" href="mathcomp.solvable.nilpotent.html#SeriesDefs.A"><span class="id" title="variable">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="upper_central_at_rec"><span class="id" title="definition">upper_central_at_rec</span></a> := <a class="idref" href="mathcomp.ssreflect.ssrnat.html#iter"><span class="id" title="definition">iter</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#SeriesDefs.n"><span class="id" title="variable">n</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">B</span> ⇒ <a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#SeriesDefs.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>) 1.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#SeriesDefs"><span class="id" title="section">SeriesDefs</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + By convention, the lower central series starts at 1 while the upper series + starts at 0 (sic). +</div> +<div class="code"> +<span class="id" title="keyword">Definition</span> <a name="lower_central_at"><span class="id" title="definition">lower_central_at</span></a> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.solvable.nilpotent.html#lower_central_at_rec"><span class="id" title="definition">lower_central_at_rec</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">.-1</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + Note: 'nosimpl' MUST be used outside of a section -- the end of section + "cooking" destroys it. +</div> +<div class="code"> +<span class="id" title="keyword">Definition</span> <a name="upper_central_at"><span class="id" title="definition">upper_central_at</span></a> := <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssreflect.html#nosimpl"><span class="id" title="abbreviation">nosimpl</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#upper_central_at_rec"><span class="id" title="definition">upper_central_at_rec</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">"</span></a>''L_' n ( G )" := (<a class="idref" href="mathcomp.solvable.nilpotent.html#lower_central_at"><span class="id" title="definition">lower_central_at</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> "''L_' n ( G )") : <span class="id" title="var">group_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">"</span></a>''Z_' n ( G )" := (<a class="idref" href="mathcomp.solvable.nilpotent.html#upper_central_at"><span class="id" title="definition">upper_central_at</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> "''Z_' n ( G )") : <span class="id" title="var">group_scope</span>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="PropertiesDefs"><span class="id" title="section">PropertiesDefs</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="PropertiesDefs.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="PropertiesDefs.A"><span class="id" title="variable">A</span></a> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="nilpotent"><span class="id" title="definition">nilpotent</span></a> :=<br/> + <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">(</span></a><span class="id" title="var">G</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> 1<a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="nil_class"><span class="id" title="definition">nil_class</span></a> := <a class="idref" href="mathcomp.ssreflect.seq.html#index"><span class="id" title="definition">index</span></a> 1 (<a class="idref" href="mathcomp.ssreflect.seq.html#mkseq"><span class="id" title="definition">mkseq</span></a> (<span class="id" title="keyword">fun</span> <span class="id" title="var">n</span> ⇒ <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>) <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Definition</span> <a name="solvable"><span class="id" title="definition">solvable</span></a> :=<br/> + <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">∀</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">(</span></a><span class="id" title="var">G</span> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs.A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#46e5a4123d46e6b126f7788a77176785"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> 1<a class="idref" href="mathcomp.ssreflect.fintype.html#fba75b5bf7a054f7244152ab0a960e30"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#PropertiesDefs"><span class="id" title="section">PropertiesDefs</span></a>.<br/> + +<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="NilpotentProps"><span class="id" title="section">NilpotentProps</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="NilpotentProps.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">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#NilpotentProps.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#NilpotentProps.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotent1"><span class="id" title="lemma">nilpotent1</span></a> : <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#26d0437a0433a7dd4f49130a7fb26acc"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#NilpotentProps.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#26d0437a0433a7dd4f49130a7fb26acc"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotentS"><span class="id" title="lemma">nilpotentS</span></a> <span class="id" title="var">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_comm_properl"><span class="id" title="lemma">nil_comm_properl</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">A</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#36625695d37b6869c156bfcdf13834f7"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_comm_properr"><span class="id" title="lemma">nil_comm_properr</span></a> <span class="id" title="var">G</span> <span class="id" title="var">A</span> <span class="id" title="var">H</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#36625695d37b6869c156bfcdf13834f7"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="centrals_nil"><span class="id" title="lemma">centrals_nil</span></a> (<span class="id" title="var">s</span> : <a class="idref" href="mathcomp.ssreflect.seq.html#seq"><span class="id" title="abbreviation">seq</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#NilpotentProps.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.gseries.html#d5eabd0e3d55ff510a60634b70f7664c"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.gseries.html#d5eabd0e3d55ff510a60634b70f7664c"><span class="id" title="notation">central</span></a><a class="idref" href="mathcomp.solvable.gseries.html#6efcb060d1407a4d44d9b1cb19cf1e04"><span class="id" title="notation">.-</span></a><a class="idref" href="mathcomp.solvable.gseries.html#6efcb060d1407a4d44d9b1cb19cf1e04"><span class="id" title="notation">series</span></a> 1%<span class="id" title="var">G</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.seq.html#last"><span class="id" title="definition">last</span></a> 1%<span class="id" title="var">G</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#s"><span class="id" title="variable">s</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.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.nilpotent.html#NilpotentProps"><span class="id" title="section">NilpotentProps</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="LowerCentral"><span class="id" title="section">LowerCentral</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="LowerCentral.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">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn0"><span class="id" title="lemma">lcn0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_0</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn1"><span class="id" title="lemma">lcn1</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="lcnSn"><span class="id" title="lemma">lcnSn</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#793e3499c36e4c6595d810e871a5acdd"><span class="id" title="notation">.+2</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="lcnSnS"><span class="id" title="lemma">lcnSnS</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="lcnE"><span class="id" title="lemma">lcnE</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#lower_central_at_rec"><span class="id" title="definition">lower_central_at_rec</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a>.<br/> + <span class="id" title="keyword">Lemma</span> <a name="lcn2"><span class="id" title="lemma">lcn2</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_2</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a>1<a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_group_set"><span class="id" title="lemma">lcn_group_set</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#group_set"><span class="id" title="definition">group_set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lower_central_at_group</span> <span class="id" title="var">n</span> <span class="id" title="var">G</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#lcn_group_set"><span class="id" title="lemma">lcn_group_set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_char"><span class="id" title="lemma">lcn_char</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.automorphism.html#004858100bfba9714bde1cdbce60358b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.automorphism.html#004858100bfba9714bde1cdbce60358b"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_normal"><span class="id" title="lemma">lcn_normal</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_sub"><span class="id" title="lemma">lcn_sub</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_norm"><span class="id" title="lemma">lcn_norm</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_subS"><span class="id" title="lemma">lcn_subS</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_normalS"><span class="id" title="lemma">lcn_normalS</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_central"><span class="id" title="lemma">lcn_central</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_sub_leq"><span class="id" title="lemma">lcn_sub_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.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_m</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcnS"><span class="id" title="lemma">lcnS</span></a> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_cprod"><span class="id" title="lemma">lcn_cprod</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_dprod"><span class="id" title="lemma">lcn_dprod</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="der_cprod"><span class="id" title="lemma">der_cprod</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="der_dprod"><span class="id" title="lemma">der_dprod</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_bigcprod"><span class="id" title="lemma">lcn_bigcprod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_bigdprod"><span class="id" title="lemma">lcn_bigdprod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="der_bigcprod"><span class="id" title="lemma">der_bigcprod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="der_bigdprod"><span class="id" title="lemma">der_bigdprod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotent_class"><span class="id" title="lemma">nilpotent_class</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#989c98e7ddd65d5bf37c334ff2076de8"><span class="id" title="notation"><</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">#|</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#f01714bb99e6c7abc6cfb2e43eff7f6e"><span class="id" title="notation">|</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcn_nil_classP"><span class="id" title="lemma">lcn_nil_classP</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="lcnP"><span class="id" title="lemma">lcnP</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelian_nil"><span class="id" title="lemma">abelian_nil</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_class0"><span class="id" title="lemma">nil_class0</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 0<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_class1"><span class="id" title="lemma">nil_class1</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#abelian"><span class="id" title="definition">abelian</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cprod_nil"><span class="id" title="lemma">cprod_nil</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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="mulg_nil"><span class="id" title="lemma">mulg_nil</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">C</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#67c26168baa7671aab03da2a0fb7dafa"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#169fb610eeaa28cebf8ec36928167473"><span class="id" title="notation">×</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="dprod_nil"><span class="id" title="lemma">dprod_nil</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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="bigdprod_nil"><span class="id" title="lemma">bigdprod_nil</span></a> <span class="id" title="var">I</span> <span class="id" title="var">r</span> (<span class="id" title="var">P</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#pred"><span class="id" title="definition">pred</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a>) (<span class="id" title="var">A_</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#LowerCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><br/> + <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">(</span></a><span class="id" title="keyword">∀</span> <span class="id" title="var">i</span>, <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#A_"><span class="id" title="variable">A_</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a>)<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.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.nilpotent.html#LowerCentral"><span class="id" title="section">LowerCentral</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="bf51969b6be0f450613c8541a5e5a278"><span class="id" title="notation">"</span></a>''L_' n ( G )" := (<a class="idref" href="mathcomp.solvable.nilpotent.html#lower_central_at_group"><span class="id" title="definition">lower_central_at_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">Lemma</span> <a name="lcn_cont"><span class="id" title="lemma">lcn_cont</span></a> <span class="id" title="var">n</span> : <a class="idref" href="mathcomp.solvable.gfunctor.html#GFunctor.continuous"><span class="id" title="definition">GFunctor.continuous</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#lower_central_at"><span class="id" title="definition">lower_central_at</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lcn_igFun</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">igFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#lcn_sub"><span class="id" title="lemma">lcn_sub</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrfun.html#8f28bbd804547edd8de802d63ef85617"><span class="id" title="notation">^~</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#lcn_cont"><span class="id" title="lemma">lcn_cont</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lcn_gFun</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">gFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#lcn_cont"><span class="id" title="lemma">lcn_cont</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">lcn_mgFun</span> <span class="id" title="var">n</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#34d675edff20d6d91e43f305650662d9"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#34d675edff20d6d91e43f305650662d9"><span class="id" title="notation">mgFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#34d675edff20d6d91e43f305650662d9"><span class="id" title="notation">by</span></a> <span class="id" title="keyword">fun</span> <span class="id" title="var">_</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> ⇒ @<a class="idref" href="mathcomp.solvable.nilpotent.html#lcnS"><span class="id" title="lemma">lcnS</span></a> <span class="id" title="var">_</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#34d675edff20d6d91e43f305650662d9"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="UpperCentralFunctor"><span class="id" title="section">UpperCentralFunctor</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="UpperCentralFunctor.n"><span class="id" title="variable">n</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#nat"><span class="id" title="inductive">nat</span></a>.<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">gT</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#FinGroup.Exports.finGroupType"><span class="id" title="abbreviation">finGroupType</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_pmap"><span class="id" title="lemma">ucn_pmap</span></a> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">hZ</span> : <a class="idref" href="mathcomp.solvable.gfunctor.html#GFunctor.pmap"><span class="id" title="record">GFunctor.pmap</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> @<a class="idref" href="mathcomp.solvable.nilpotent.html#upper_central_at"><span class="id" title="definition">upper_central_at</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.n"><span class="id" title="variable">n</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#hZ"><span class="id" title="variable">hZ</span></a>.<br/> + +<br/> +</div> + +<div class="doc"> + Now extract all the intermediate facts of the last proof. +</div> +<div class="code"> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_group_set"><span class="id" title="lemma">ucn_group_set</span></a> <span class="id" title="var">gT</span> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.fingroup.fingroup.html#group_set"><span class="id" title="definition">group_set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">upper_central_at_group</span> <span class="id" title="var">gT</span> <span class="id" title="var">G</span> := <a class="idref" href="mathcomp.fingroup.fingroup.html#Group"><span class="id" title="constructor">Group</span></a> (@<a class="idref" href="mathcomp.solvable.nilpotent.html#ucn_group_set"><span class="id" title="lemma">ucn_group_set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_sub"><span class="id" title="lemma">ucn_sub</span></a> <span class="id" title="var">gT</span> (<span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="morphim_ucn"><span class="id" title="lemma">morphim_ucn</span></a> : <a class="idref" href="mathcomp.solvable.gfunctor.html#GFunctor.pcontinuous"><span class="id" title="definition">GFunctor.pcontinuous</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#upper_central_at"><span class="id" title="definition">upper_central_at</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.n"><span class="id" title="variable">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ucn_igFun</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">igFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#ucn_sub"><span class="id" title="lemma">ucn_sub</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">&</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#morphim_ucn"><span class="id" title="lemma">morphim_ucn</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#a1ae11930941a680f6750f6723874923"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ucn_gFun</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">gFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#morphim_ucn"><span class="id" title="lemma">morphim_ucn</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#f83b8fb103ae042d25e7034a8b11b7e7"><span class="id" title="notation">]</span></a>.<br/> +<span class="id" title="keyword">Canonical</span> <span class="id" title="var">ucn_pgFun</span> := <a class="idref" href="mathcomp.solvable.gfunctor.html#75f5bf98333ce9930f3fc4415f01e6a0"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#75f5bf98333ce9930f3fc4415f01e6a0"><span class="id" title="notation">pgFun</span></a> <a class="idref" href="mathcomp.solvable.gfunctor.html#75f5bf98333ce9930f3fc4415f01e6a0"><span class="id" title="notation">by</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#morphim_ucn"><span class="id" title="lemma">morphim_ucn</span></a><a class="idref" href="mathcomp.solvable.gfunctor.html#75f5bf98333ce9930f3fc4415f01e6a0"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> (<a name="UpperCentralFunctor.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="UpperCentralFunctor.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_char"><span class="id" title="lemma">ucn_char</span></a> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.automorphism.html#004858100bfba9714bde1cdbce60358b"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.automorphism.html#004858100bfba9714bde1cdbce60358b"><span class="id" title="notation">char</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.G"><span class="id" title="variable">G</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_norm"><span class="id" title="lemma">ucn_norm</span></a> : <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">N</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#3cae19671031307d430e5b14ccbd1058"><span class="id" title="notation">)</span></a>. <br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_normal"><span class="id" title="lemma">ucn_normal</span></a> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor.G"><span class="id" title="variable">G</span></a>. <br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentralFunctor"><span class="id" title="section">UpperCentralFunctor</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Notation</span> <a name="0f9fc6a9d3141726ed8a1df78f3e4e65"><span class="id" title="notation">"</span></a>''Z_' n ( G )" := (<a class="idref" href="mathcomp.solvable.nilpotent.html#upper_central_at_group"><span class="id" title="definition">upper_central_at_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="UpperCentral"><span class="id" title="section">UpperCentral</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="UpperCentral.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">A</span> <span class="id" title="var">B</span> : <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) (<span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn0"><span class="id" title="lemma">ucn0</span></a> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_0</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucnSn"><span class="id" title="lemma">ucnSn</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#coset"><span class="id" title="definition">coset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#619a2190d60a66179f3396458e2a09ae"><span class="id" title="notation">@*^-1</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucnE"><span class="id" title="lemma">ucnE</span></a> <span class="id" title="var">n</span> <span class="id" title="var">A</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#upper_central_at_rec"><span class="id" title="definition">upper_central_at_rec</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_subS"><span class="id" title="lemma">ucn_subS</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_sub_geq"><span class="id" title="lemma">ucn_sub_geq</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.nilpotent.html#n"><span class="id" title="variable">n</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#08fe8636f4b45ae6787c490d19de1366"><span class="id" title="notation">≥</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_m</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_central"><span class="id" title="lemma">ucn_central</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_normalS"><span class="id" title="lemma">ucn_normalS</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_comm"><span class="id" title="lemma">ucn_comm</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn1"><span class="id" title="lemma">ucn1</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucnSnR"><span class="id" title="lemma">ucnSnR</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">set</span></a> <span class="id" title="var">x</span> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">in</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">[~:</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#x"><span class="id" title="variable">x</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#b08e42f5c9c65aa9346e7b6dc26e3b5a"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#44ce2df89b693f6f5ca2acfcd54d16b4"><span class="id" title="notation">]</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#11a9aebd9632a5968df4f5811663355a"><span class="id" title="notation">]</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_cprod"><span class="id" title="lemma">ucn_cprod</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#9607c0b7b0a7e59f4327b220d5a93330"><span class="id" title="notation">\*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_dprod"><span class="id" title="lemma">ucn_dprod</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#A"><span class="id" title="variable">A</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#A"><span class="id" title="variable">A</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#3733c0e43956ad2062ab5f1e57ceb9a8"><span class="id" title="notation">x</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#B"><span class="id" title="variable">B</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_bigcprod"><span class="id" title="lemma">ucn_bigcprod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#cprod"><span class="id" title="abbreviation">cprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_bigdprod"><span class="id" title="lemma">ucn_bigdprod</span></a> <span class="id" title="var">n</span> <span class="id" title="var">I</span> <span class="id" title="var">r</span> <span class="id" title="var">P</span> (<span class="id" title="var">F</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#I"><span class="id" title="variable">I</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">set</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentral.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.ssreflect.finset.html#0fec877de6d09ef39abb9b599a84eb0e"><span class="id" title="notation">}</span></a>) <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a><br/> + <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">big</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">[</span></a><a class="idref" href="mathcomp.fingroup.gproduct.html#dprod"><span class="id" title="abbreviation">dprod</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">/</span></a>1<a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">]</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">_</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">(</span></a><span class="id" title="var">i</span> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation"><-</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#r"><span class="id" title="variable">r</span></a> <a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#P"><span class="id" title="variable">P</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.ssreflect.bigop.html#52c4d552b36d01307b4a33177122d4d1"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#F"><span class="id" title="variable">F</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#i"><span class="id" title="variable">i</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_lcnP"><span class="id" title="lemma">ucn_lcnP</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/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#361454269931ea8643f7b402f2ab7222"><span class="id" title="notation">.+1</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucnP"><span class="id" title="lemma">ucnP</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>) (<a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_nil_classP"><span class="id" title="lemma">ucn_nil_classP</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>) (<a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_id"><span class="id" title="lemma">ucn_id</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">('</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">))</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="ucn_nilpotent"><span class="id" title="lemma">ucn_nilpotent</span></a> <span class="id" title="var">n</span> <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.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_class_ucn"><span class="id" title="lemma">nil_class_ucn</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#UpperCentral"><span class="id" title="section">UpperCentral</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MorphNil"><span class="id" title="section">MorphNil</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MorphNil.aT"><span class="id" title="variable">aT</span></a> <a name="MorphNil.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="MorphNil.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="MorphNil.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Implicit</span> <span class="id" title="keyword">Type</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.aT"><span class="id" title="variable">aT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="morphim_lcn"><span class="id" title="lemma">morphim_lcn</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">L_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#5687e496745f33fbd379209c74c3e54b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="injm_ucn"><span class="id" title="lemma">injm_ucn</span></a> <span class="id" title="var">n</span> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="morphim_nil"><span class="id" title="lemma">morphim_nil</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="injm_nil"><span class="id" title="lemma">injm_nil</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_class_morphim"><span class="id" title="lemma">nil_class_morphim</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="mathcomp.ssreflect.ssrnat.html#9b077c369e19739ef880736ba34623ff"><span class="id" title="notation">≤</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_class_injm"><span class="id" title="lemma">nil_class_injm</span></a> <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#MorphNil.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.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.nilpotent.html#MorphNil"><span class="id" title="section">MorphNil</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="QuotientNil"><span class="id" title="section">QuotientNil</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="QuotientNil.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">rT</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">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#QuotientNil.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="quotient_ucn_add"><span class="id" title="lemma">quotient_ucn_add</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.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#m"><span class="id" title="variable">m</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#b3eea360671e1b32b18a26e15b3aace3"><span class="id" title="notation">+</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_m</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">Z_n</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#d1eb8868cf0b9988e8867270063ad1b6"><span class="id" title="notation">))</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isog_nil"><span class="id" title="lemma">isog_nil</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">G</span> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#L"><span class="id" title="variable">L</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isog_nil_class"><span class="id" title="lemma">isog_nil_class</span></a> <span class="id" title="var">rT</span> <span class="id" title="var">G</span> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#L"><span class="id" title="variable">L</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="quotient_nil"><span class="id" title="lemma">quotient_nil</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="quotient_center_nil"><span class="id" title="lemma">quotient_center_nil</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nil_class_quotient_center"><span class="id" title="lemma">nil_class_quotient_center</span></a> <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#nil_class"><span class="id" title="definition">nil_class</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.ssreflect.ssrnat.html#1d63841e595f2805afd872744cbb1cce"><span class="id" title="notation">).-1</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotent_sub_norm"><span class="id" title="lemma">nilpotent_sub_norm</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67291ec55239f54fa5aa0b0bb974446c"><span class="id" title="notation">:=:</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotent_proper_norm"><span class="id" title="lemma">nilpotent_proper_norm</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">N_G</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#7193b23d12b4f3c2146b0e77ee974b2b"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotent_subnormal"><span class="id" title="lemma">nilpotent_subnormal</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.solvable.gseries.html#1c13d5a750ea3c2ea3c64e0c79244ba5"><span class="id" title="notation"><|<|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="TI_center_nil"><span class="id" title="lemma">TI_center_nil</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#67291ec55239f54fa5aa0b0bb974446c"><span class="id" title="notation">:=:</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="meet_center_nil"><span class="id" title="lemma">meet_center_nil</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#36625695d37b6869c156bfcdf13834f7"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#cb41714a5a23482f7a48a98975fa8c59"><span class="id" title="notation">:&:</span></a> <a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#b1eeadc2feabc7422252baa895418c7b"><span class="id" title="notation">!=</span></a> 1.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="center_nil_eq1"><span class="id" title="lemma">center_nil_eq1</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">Z</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.center.html#07d637974acf808c1caadc3b5bdfa6d3"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.eqtype.html#17d28d004d0863cb022d4ce832ddaaae"><span class="id" title="notation">==</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#24f47bb7b1a372904563d2bdb8a213a4"><span class="id" title="notation">:==:</span></a> 1<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">)</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="cyclic_nilpotent_quo_der1_cyclic"><span class="id" title="lemma">cyclic_nilpotent_quo_der1_cyclic</span></a> <span class="id" title="var">G</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#nilpotent"><span class="id" title="definition">nilpotent</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a>1<a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.cyclic.html#cyclic"><span class="id" title="definition">cyclic</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.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.nilpotent.html#QuotientNil"><span class="id" title="section">QuotientNil</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="Solvable"><span class="id" title="section">Solvable</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variable</span> <a name="Solvable.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">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#Solvable.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="nilpotent_sol"><span class="id" title="lemma">nilpotent_sol</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="abelian_sol"><span class="id" title="lemma">abelian_sol</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.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="solvable1"><span class="id" title="lemma">solvable1</span></a> : <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#26d0437a0433a7dd4f49130a7fb26acc"><span class="id" title="notation">[1</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#Solvable.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#26d0437a0433a7dd4f49130a7fb26acc"><span class="id" title="notation">]</span></a>. <br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="solvableS"><span class="id" title="lemma">solvableS</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="sol_der1_proper"><span class="id" title="lemma">sol_der1_proper</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> :<br/> + <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.ssreflect.finset.html#36625695d37b6869c156bfcdf13834f7"><span class="id" title="notation">:!=:</span></a> 1 <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a>1<a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#219b95257a323aaee1742e9bec4975d7"><span class="id" title="notation">proper</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="derivedP"><span class="id" title="lemma">derivedP</span></a> <span class="id" title="var">G</span> : <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.ssr.ssrbool.html#reflect"><span class="id" title="abbreviation">reflect</span></a> (<a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">∃</span></a> <span class="id" title="var">n</span><a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#84eb6d2849dbf3581b1c0c05add5f2d8"><span class="id" title="notation">,</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">^`(</span></a><a class="idref" href="mathcomp.solvable.nilpotent.html#n"><span class="id" title="variable">n</span></a><a class="idref" href="mathcomp.solvable.commutator.html#2af6d4df4fd579da0e206aeed0c82e74"><span class="id" title="notation">)</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> 1) (<a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.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.nilpotent.html#Solvable"><span class="id" title="section">Solvable</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="MorphSol"><span class="id" title="section">MorphSol</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> (<a name="MorphSol.gT"><span class="id" title="variable">gT</span></a> <a name="MorphSol.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="MorphSol.D"><span class="id" title="variable">D</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) (<a name="MorphSol.f"><span class="id" title="variable">f</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">morphism</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#D"><span class="id" title="variable">D</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">>-></span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#c5b2825fcd994c4c5cc69df8802f5376"><span class="id" title="notation">}</span></a>).<br/> +<span class="id" title="keyword">Variable</span> <a name="MorphSol.G"><span class="id" title="variable">G</span></a> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="morphim_sol"><span class="id" title="lemma">morphim_sol</span></a> : <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.G"><span class="id" title="variable">G</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="injm_sol"><span class="id" title="lemma">injm_sol</span></a> : <a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">'</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#14bfb149f00fa839cfb11397f4fe629f"><span class="id" title="notation">injm</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.f"><span class="id" title="variable">f</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.ssreflect.fintype.html#826eae8d7598a787ea56f4249e6e210e"><span class="id" title="notation">subset</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.D"><span class="id" title="variable">D</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.f"><span class="id" title="variable">f</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#48cff845c81518398138031392d44c93"><span class="id" title="notation">@*</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.G"><span class="id" title="variable">G</span></a>) <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol.G"><span class="id" title="variable">G</span></a>.<br/> + +<br/> +<span class="id" title="keyword">End</span> <a class="idref" href="mathcomp.solvable.nilpotent.html#MorphSol"><span class="id" title="section">MorphSol</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Section</span> <a name="QuotientSol"><span class="id" title="section">QuotientSol</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Variables</span> <a name="QuotientSol.gT"><span class="id" title="variable">gT</span></a> <a name="QuotientSol.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">Types</span> <span class="id" title="var">G</span> <span class="id" title="var">H</span> <span class="id" title="var">K</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#QuotientSol.gT"><span class="id" title="variable">gT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="isog_sol"><span class="id" title="lemma">isog_sol</span></a> <span class="id" title="var">G</span> (<span class="id" title="var">L</span> : <a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">{</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">group</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#QuotientSol.rT"><span class="id" title="variable">rT</span></a><a class="idref" href="mathcomp.fingroup.fingroup.html#ab072eb546972c7e5cdaf33b8a35ce6b"><span class="id" title="notation">}</span></a>) : <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">\</span></a><a class="idref" href="mathcomp.fingroup.morphism.html#cec6c3028572f2d4d267ecf02dc64058"><span class="id" title="notation">isog</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#L"><span class="id" title="variable">L</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#L"><span class="id" title="variable">L</span></a>.<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="quotient_sol"><span class="id" title="lemma">quotient_sol</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="series_sol"><span class="id" title="lemma">series_sol</span></a> <span class="id" title="var">G</span> <span class="id" title="var">H</span> : <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="mathcomp.fingroup.fingroup.html#c27c638e534bbb5b7de2d4b4aa0a3e82"><span class="id" title="notation"><|</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#1c39bf18749e5cc609e83c0a0ba5a372"><span class="id" title="notation">=</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Datatypes.html#49ac24efa716d8b0ee8943bc1d1769a9"><span class="id" title="notation">&&</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> (<a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="mathcomp.fingroup.quotient.html#c7768147d2d560601601fbf95706ddcc"><span class="id" title="notation">/</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#H"><span class="id" title="variable">H</span></a>).<br/> + +<br/> +<span class="id" title="keyword">Lemma</span> <a name="metacyclic_sol"><span class="id" title="lemma">metacyclic_sol</span></a> <span class="id" title="var">G</span> : <a class="idref" href="mathcomp.solvable.cyclic.html#metacyclic"><span class="id" title="definition">metacyclic</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#G"><span class="id" title="variable">G</span></a> <a class="idref" href="http://coq.inria.fr/distrib/8.8.0/stdlib//Coq.Init.Logic.html#d43e996736952df71ebeeae74d10a287"><span class="id" title="notation">→</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.html#solvable"><span class="id" title="definition">solvable</span></a> <a class="idref" href="mathcomp.solvable.nilpotent.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.nilpotent.html#QuotientSol"><span class="id" title="section">QuotientSol</span></a>.<br/> +</div> +</div> + +<div id="footer"> +<hr/><a href="index.html">Index</a><hr/>This page has been generated by <a href="http://coq.inria.fr/">coqdoc</a> +</div> + +</div> + +</body> +</html>
\ No newline at end of file |
